World Builder  0.1.0-pre
A geodyanmic initial conditions generator
list.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2018 by the authors of the World Builder code.
3 
4  This file is part of the World Builder.
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef _world_feature_types_list_h
21 #define _world_feature_types_list_h
22 
24 
25 
26 namespace WorldBuilder
27 {
28  namespace Types
29  {
40  class List : public Interface
41  {
42  public:
46  List(const Interface &type, const std::string &description);
47 
48 
52  List(const List &type);
53 
57  List(const std::string &name, const std::vector<unsigned int> &inner_type_index, const Types::type inner_type, const std::string &description);
58 
59 
63  ~List();
64 
65 
69  virtual
70  std::unique_ptr<Interface> clone() const;
71 
75  std::string name;
76 
82 
92  std::unique_ptr<Interface> inner_type_ptr;
93 
103  std::vector<unsigned int> inner_type_index;
104 
109  std::string description;
110 
111  };
112  }
113 }
114 
115 #endif
std::string description
Definition: list.h:109
Types::type inner_type
Definition: list.h:81
std::unique_ptr< Interface > inner_type_ptr
Definition: list.h:92
virtual std::unique_ptr< Interface > clone() const
Definition: list.cc:62
List(const Interface &type, const std::string &description)
Definition: list.cc:26
std::vector< unsigned int > inner_type_index
Definition: list.h:103
std::string name
Definition: list.h:75