vega
page.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include "vega/tag_mask.h"
6 #include "vega/multi_vr.h"
7 #include "vega/vm.h"
8 
9 namespace vega {
10  namespace dictionary {
11  class PrivateOwner;
12 
13  class Page {
14  private:
15  std::weak_ptr<const PrivateOwner> m_owner;
16  std::string m_name;
17  TagMask m_tag_mask;
18  MultiVR m_multi_vr;
19  VM m_vm;
20 
21  public:
22  Page(const std::string& name, const TagMask& tag_mask, const MultiVR& multi_vr, const VM& vm);
23  Page(std::shared_ptr<const PrivateOwner> owner, const std::string& name, const TagMask& tag_mask, const MultiVR& multi_vr, const VM& vm);
24 
25  const std::string& name() const;
26  const TagMask& tag_mask() const;
27  const MultiVR& multi_vr() const;
28  const VM& vm() const;
29 
30  bool allows_vr(const VR& vr) const;
31  bool contains(const Tag& tag) const;
32  VR determine_implicit_vr() const;
33 
34  std::weak_ptr<const PrivateOwner> private_owner() const;
35  };
36  }
37 }
VR determine_implicit_vr() const
bool allows_vr(const VR &vr) const
Definition: vr.h:13
Definition: vm.h:8
bool contains(const Tag &tag) const
Definition: page.h:13
Definition: tag_mask.h:11
std::weak_ptr< const PrivateOwner > private_owner() const
const MultiVR & multi_vr() const
const std::string & name() const
Definition: age.h:6
const VM & vm() const
Page(const std::string &name, const TagMask &tag_mask, const MultiVR &multi_vr, const VM &vm)
Definition: multi_vr.h:11
const TagMask & tag_mask() const
Class for working with DICOM data element tags.
Definition: tag.h:15