World Builder
0.1.0-pre
A geodyanmic initial conditions generator
interface.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_builder_types_interface_h
21
#define _world_builder_types_interface_h
22
23
#include <string>
24
#include <vector>
25
#include <memory>
26
27
namespace
WorldBuilder
28
{
33
namespace
Types
34
{
35
36
enum class
type
37
{
38
None
,
String
,
Double
,
Int
,
UnsignedInt
,
Array
,
List
,
Point2D
,
Point3D
,
CoordinateSystem
,
Feature
39
};
40
41
class
Interface
42
{
43
public
:
47
Interface
();
48
52
virtual
53
~
Interface
();
54
58
virtual
59
std::unique_ptr<Interface> clone()
const
= 0;
60
64
virtual
65
type
get_type()
const
;
66
67
71
//virtual
72
//Interface* get_inner_type() const ;
73
77
//virtual
78
//Interface* set_inner_type();
79
80
protected
:
81
type
type_name
;
82
};
83
}
84
}
85
86
#endif
WorldBuilder::Types::Feature
Definition:
feature.h:36
WorldBuilder::Types::type::Array
WorldBuilder::Types::type::UnsignedInt
WorldBuilder::Types::Interface
Definition:
interface.h:41
WorldBuilder::Types::type::None
WorldBuilder::Types::type::Point3D
WorldBuilder::Types::type::Point2D
WorldBuilder::Types::type
type
Definition:
interface.h:36
WorldBuilder::Types::type::CoordinateSystem
WorldBuilder::Types::type::String
WorldBuilder
Definition:
cartesian.cc:22
WorldBuilder::Types::Interface::type_name
type type_name
Definition:
interface.h:81
WorldBuilder::Types::type::Int
WorldBuilder::Types::type::Double
WorldBuilder::Types::type::List
include
world_builder
types
interface.h
Generated by
1.8.13