Line data Source code
1 : /* 2 : * Licensed to the Apache Software Foundation (ASF) under one 3 : * or more contributor license agreements. See the NOTICE file 4 : * distributed with this work for additional information 5 : * regarding copyright ownership. The ASF licenses this file 6 : * to you under the Apache License, Version 2.0 (the 7 : * "License"); you may not use this file except in compliance 8 : * with the License. You may obtain a copy of the License at 9 : * 10 : * http://www.apache.org/licenses/LICENSE-2.0 11 : * 12 : * Unless required by applicable law or agreed to in writing, 13 : * software distributed under the License is distributed on an 14 : * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 : * KIND, either express or implied. See the License for the 16 : * specific language governing permissions and limitations 17 : * under the License. 18 : */ 19 : 20 : #ifndef T_CONTAINER_H 21 : #define T_CONTAINER_H 22 : 23 : #include "t_type.h" 24 : 25 : class t_container : public t_type { 26 : public: 27 11038 : t_container() : 28 11038 : cpp_name_(), 29 11038 : has_cpp_name_(false) {} 30 : 31 0 : virtual ~t_container() {} 32 : 33 0 : void set_cpp_name(std::string cpp_name) { 34 0 : cpp_name_ = cpp_name; 35 0 : has_cpp_name_ = true; 36 0 : } 37 : 38 12876 : bool has_cpp_name() { 39 12876 : return has_cpp_name_; 40 : } 41 : 42 0 : std::string get_cpp_name() { 43 0 : return cpp_name_; 44 : } 45 : 46 21729 : bool is_container() const { 47 21729 : return true; 48 : } 49 : 50 : private: 51 : std::string cpp_name_; 52 : bool has_cpp_name_; 53 : 54 : }; 55 : 56 : #endif