Main Page
Namespaces
Classes
Files
File List
File Members
src
BuiltinVariant.cpp
Go to the documentation of this file.
1
/******************************************************************************
2
* Copyright (C) 2014 by Ralf Kaestner *
3
* ralf.kaestner@gmail.com *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the Lesser GNU General Public License as published by*
7
* the Free Software Foundation; either version 3 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* Lesser GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the Lesser GNU General Public License *
16
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
17
******************************************************************************/
18
19
#include <limits.h>
20
21
#include "
variant_topic_tools/BuiltinVariant.h
"
22
23
namespace
variant_topic_tools
{
24
25
/*****************************************************************************/
26
/* Constructors and Destructor */
27
/*****************************************************************************/
28
29
BuiltinVariant::BuiltinVariant
() {
30
}
31
32
BuiltinVariant::BuiltinVariant
(
const
BuiltinVariant
& src) :
33
Variant
(src) {
34
}
35
36
BuiltinVariant::BuiltinVariant
(
const
Variant
& src) :
37
Variant
(src) {
38
if
(
value
)
39
BOOST_ASSERT(boost::dynamic_pointer_cast<Value>(
value
));
40
}
41
42
BuiltinVariant::~BuiltinVariant
() {
43
}
44
45
BuiltinVariant::Value::Value
() {
46
}
47
48
BuiltinVariant::Value::~Value
() {
49
}
50
51
/*****************************************************************************/
52
/* Accessors */
53
/*****************************************************************************/
54
55
double
BuiltinVariant::getNumericValue
()
const
{
56
if
(
value
)
57
return
boost::dynamic_pointer_cast<
Value
>(
value
)->
getNumericValue
();
58
else
59
return
std::numeric_limits<double>::quiet_NaN();
60
}
61
62
}
variant_topic_tools
Definition:
ArrayDataType.h:29
variant_topic_tools::BuiltinVariant::Value::~Value
virtual ~Value()
Destructor.
Definition:
BuiltinVariant.cpp:48
variant_topic_tools::BuiltinVariant::BuiltinVariant
BuiltinVariant()
Default constructor.
Definition:
BuiltinVariant.cpp:29
variant_topic_tools::Variant
Variant type.
Definition:
Variant.h:39
variant_topic_tools::BuiltinVariant::getNumericValue
double getNumericValue() const
Retrieve the built-in variant's numeric value.
Definition:
BuiltinVariant.cpp:55
variant_topic_tools::Variant::value
ValuePtr value
The variant's data value.
Definition:
Variant.h:251
variant_topic_tools::BuiltinVariant::Value
Built-in variant value (abstract base)
Definition:
BuiltinVariant.h:65
variant_topic_tools::BuiltinVariant
Built-in variant type.
Definition:
BuiltinVariant.h:35
variant_topic_tools::BuiltinVariant::Value::Value
Value()
Default constructor.
Definition:
BuiltinVariant.cpp:45
BuiltinVariant.h
Header file providing the BuiltinVariant class interface.
variant_topic_tools::BuiltinVariant::~BuiltinVariant
~BuiltinVariant()
Destructor.
Definition:
BuiltinVariant.cpp:42
variant_topic_tools
Author(s): Ralf Kaestner
autogenerated on Sat Jan 9 2021 03:56:49