9 #ifndef _9c3d8f32_0310_4e3a_b5d2_6d69f229a2cf 10 #define _9c3d8f32_0310_4e3a_b5d2_6d69f229a2cf 13 #include <initializer_list> 15 #include "odil/odil.h" 17 #include "odil/Value.h" 42 #define ODIL_ELEMENT_CONSTRUCTORS(type) \ 43 Element(Value::type const & value, VR const & vr=VR::INVALID); \ 44 Element(Value::type && value, VR const & vr=VR::INVALID); \ 46 std::initializer_list<Value::type::value_type> const & value, \ 47 VR const & vr=VR::INVALID); 53 ODIL_ELEMENT_CONSTRUCTORS(Integers);
54 ODIL_ELEMENT_CONSTRUCTORS(Reals);
55 ODIL_ELEMENT_CONSTRUCTORS(Strings);
56 ODIL_ELEMENT_CONSTRUCTORS(DataSets);
57 ODIL_ELEMENT_CONSTRUCTORS(Binary);
58 #undef ODIL_ELEMENT_CONSTRUCTORS 61 std::initializer_list<int>
const & value, VR
const & vr=VR::INVALID);
64 std::initializer_list<std::initializer_list<uint8_t>>
const & value,
65 VR
const & vr=VR::INVALID);
81 std::size_t size()
const;
84 Value const & get_value()
const;
104 bool is_real()
const;
121 bool is_string()
const;
138 bool is_data_set()
const;
155 bool is_binary()
const;
172 bool operator==(
Element const & other)
const;
175 bool operator!=(
Element const & other)
const;
187 template<
typename TVisitor>
188 typename TVisitor::result_type
189 apply_visitor(TVisitor
const & visitor,
Element const & element);
194 #include "odil/Element.txx" 196 #endif // _9c3d8f32_0310_4e3a_b5d2_6d69f229a2cf std::vector< String > Strings
String container.
Definition: Value.h:57
std::vector< Real > Reals
Real container.
Definition: Value.h:54
A value held in a DICOM element.
Definition: Value.h:28
VR vr
VR of the element.
Definition: Element.h:31
Definition: Association.cpp:39
std::vector< Integer > Integers
Integer container.
Definition: Value.h:51
std::vector< DataSet > DataSets
Data sets container.
Definition: Value.h:60
std::vector< std::vector< uint8_t > > Binary
Binary data container.
Definition: Value.h:63
Element of a DICOM data set.
Definition: Element.h:26