9 #ifndef _dca5b15b_b8df_4925_a446_d42efe06c923 10 #define _dca5b15b_b8df_4925_a446_d42efe06c923 13 #include <initializer_list> 54 typedef std::vector<Real>
Reals;
63 typedef std::vector<std::vector<uint8_t>>
Binary;
65 #define ODIL_VALUE_CONSTRUCTORS(type) \ 66 Value(type const & value); \ 67 Value(type && value); \ 68 Value(std::initializer_list<type::value_type> const & value); 79 #undef ODIL_VALUE_CONSTRUCTORS 81 Value(std::initializer_list<int>
const & value);
83 Value(std::initializer_list<std::initializer_list<uint8_t>>
const & value);
89 Value(Value
const &) =
default;
90 Value(Value &&) =
default;
91 Value & operator=(Value
const &) =
default;
92 Value & operator=(Value &&) =
default;
96 Type get_type()
const;
102 std::size_t size()
const;
109 Integers
const & as_integers()
const;
116 Integers & as_integers();
123 Reals
const & as_reals()
const;
137 Strings
const & as_strings()
const;
144 Strings & as_strings();
151 DataSets
const & as_data_sets()
const;
158 DataSets & as_data_sets();
165 Binary
const & as_binary()
const;
172 Binary & as_binary();
175 bool operator==(Value
const & other)
const;
178 bool operator!=(Value
const & other)
const;
189 std::shared_ptr<DataSets> _data_sets;
198 template<
typename TVisitor>
199 typename TVisitor::result_type
200 apply_visitor(TVisitor
const & visitor, Value
const & value);
205 template<
typename TVisitor>
206 typename TVisitor::result_type
211 #include "odil/Value.txx" 213 #endif // _dca5b15b_b8df_4925_a446_d42efe06c923 std::vector< String > Strings
String container.
Definition: Value.h:57
#define ODIL_VALUE_CONSTRUCTORS(type)
Definition: Value.h:65
std::vector< Real > Reals
Real container.
Definition: Value.h:54
int64_t Integer
Integer type.
Definition: Value.h:42
std::vector< DataSet > DataSets
Data sets container.
Definition: Value.h:60
Definition: Association.h:24
std::string String
String type.
Definition: Value.h:48
#define ODIL_API
Definition: odil.h:28
Type
Type of the request or response (use for WADO & QIDO).
Definition: Utils.h:26
Type
Possible types stored in the value.
Definition: Value.h:32
TVisitor::result_type apply_visitor(TVisitor const &visitor, Element const &element)
Visitor of elements.
std::vector< Integer > Integers
Integer container.
Definition: Value.h:51
double Real
Real type.
Definition: Value.h:45
std::vector< std::vector< uint8_t > > Binary
Binary data container.
Definition: Value.h:63
A value held in a DICOM element.
Definition: Value.h:28