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 "thrift/parse/t_type.h"
24 
25 class t_container : public t_type {
26 public:
t_container()27   t_container() : cpp_name_(), has_cpp_name_(false) {}
28 
29   ~t_container() override = default;
30 
set_cpp_name(std::string cpp_name)31   void set_cpp_name(std::string cpp_name) {
32     cpp_name_ = cpp_name;
33     has_cpp_name_ = true;
34   }
35 
has_cpp_name()36   bool has_cpp_name() const { return has_cpp_name_; }
37 
get_cpp_name()38   std::string get_cpp_name() const { return cpp_name_; }
39 
is_container()40   bool is_container() const override { return true; }
41 
42 private:
43   std::string cpp_name_;
44   bool has_cpp_name_;
45 };
46 
47 #endif
48