1 #include "vega/dictionary_data.h" 8 static_assert(vega::dictionary::HasTag<T>::value,
"type must have Tag");
9 m_data_element = std::make_shared<DataElement>(T::tag, T::vr);
14 : m_data_element(std::make_shared<
DataElement>(tag, T::vr))
16 if (!T::tag_mask.contains(tag)) {
17 throw vega::Exception(
"Element<T>(const Tag&): Tag must agreen with type T.");
23 : m_data_element(data_element)
26 if (!T::tag_mask.contains(m_data_element->tag()))
throw vega::Exception(
"must have Tag that agrees with type");
27 if (T::vr != m_data_element->vr())
throw vega::Exception(
"must have VR that agrees with type");
32 return m_data_element;
37 return m_data_element->get_manipulator<
typename T::manipulator_type>();
This class is used to contain the information in a single DataElement.
Definition: data_element.h:69
std::shared_ptr< typename T::manipulator_type > manipulator()
Definition: element_impl.h:36
The base class for exceptions that are raised by the vega library.
Definition: vega.h:11
A useful wrapper class over the more standard DataElement.
Definition: element.h:21
Element()
Definition: element_impl.h:6
Class for working with DICOM data element tags.
Definition: tag.h:15
const VR & vr() const
Definition: element_impl.h:47
const Tag & tag() const
Definition: element_impl.h:41