ThirdParty
custom-opm-common
opm-common
opm
parser
eclipse
Deck
DeckValue.hpp
Go to the documentation of this file.
1
/*
2
Copyright 2019 Equinor ASA.
3
4
This file is part of the Open Porous Media project (OPM).
5
6
OPM is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
OPM 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 General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with OPM. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef DECK_VALUE_HPP
21
#define DECK_VALUE_HPP
22
23
#include <string>
24
25
#include <
opm/parser/eclipse/Utility/Typetools.hpp
>
26
27
namespace
Opm
{
28
29
class
DeckValue
{
30
31
public
:
32
DeckValue
();
33
explicit
DeckValue
(
int
);
34
explicit
DeckValue
(
double
);
35
explicit
DeckValue
(
const
std::string
&);
36
37
bool
is_default
()
const
;
38
39
template
<
typename
T>
40
T
get
()
const
;
41
42
template
<
typename
T>
43
bool
is_compatible
()
const
;
44
45
private
:
46
47
bool
default_value;
48
type_tag
value_enum;
49
int
int_value;
50
double
double_value;
51
std::string
string_value;
52
53
};
54
55
}
56
57
58
#endif
Typetools.hpp
string
const char *const string
Definition:
cJSON.h:170
Opm::DeckValue
Definition:
DeckValue.hpp:29
Opm::DeckValue::DeckValue
DeckValue()
Opm::DeckValue::DeckValue
DeckValue(double)
Opm::DeckValue::DeckValue
DeckValue(const std::string &)
Opm::DeckValue::is_default
bool is_default() const
Opm::DeckValue::DeckValue
DeckValue(int)
Opm::DeckValue::get
T get() const
Opm::DeckValue::is_compatible
bool is_compatible() const
Opm
Definition:
A.hpp:4
Opm::type_tag
type_tag
Definition:
Typetools.hpp:10