vega
element.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
5 
6 namespace vega {
7  namespace dicom {
20  template <typename T>
21  class Element {
22  private:
23  std::shared_ptr<DataElement> m_data_element;
24 
25  public:
31  Element();
36  explicit Element(const Tag& tag);
41  explicit Element(const std::shared_ptr<DataElement>& data_element);
42 
46  std::shared_ptr<typename T::manipulator_type> manipulator();
48  std::shared_ptr<DataElement> underlying_data_element() const;
50 
51  const Tag& tag() const;
52  Tag& tag();
53 
54  const VR& vr() const;
55  VR& vr();
56  };
57  }
58 }
59 
Definition: vr.h:13
std::shared_ptr< typename T::manipulator_type > manipulator()
Definition: element_impl.h:36
A useful wrapper class over the more standard DataElement.
Definition: element.h:21
Definition: age.h:6
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