odil
ElementsDictionary.h
1 /*************************************************************************
2  * odil - Copyright (C) Universite de Strasbourg
3  * Distributed under the terms of the CeCILL-B license, as published by
4  * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
5  * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
6  * for details.
7  ************************************************************************/
8 
9 #ifndef _f4b88e07_d515_41be_ad1b_37899ec6451e
10 #define _f4b88e07_d515_41be_ad1b_37899ec6451e
11 
12 #include <map>
13 #include <string>
14 
15 #include <odil/Tag.h>
16 
17 namespace odil
18 {
19 
22  {
23  public:
25  enum class Type
26  {
27  Tag,
28  String,
29  None
30  };
31 
34 
36  ElementsDictionaryKey(Tag const & value);
37 
39  ElementsDictionaryKey(std::string const & value);
40 
42  Type const & get_type() const;
43 
45  Tag const & get_tag() const;
46 
48  std::string const & get_string() const;
49 
51  void set(Tag const value);
52 
54  void set(std::string const & value);
55 
57  bool operator<(ElementsDictionaryKey const & other) const;
58 
59  private:
60  Type _type;
61  Tag _tag;
62  std::string _string;
63  };
64 
69 {
70  std::string name;
71  std::string keyword;
72  std::string vr;
73  std::string vm;
74 
76  std::string const & name, std::string const & keyword,
77  std::string const & vr, std::string const & vm);
78 };
79 
80 typedef
81  std::map<ElementsDictionaryKey, ElementsDictionaryEntry> ElementsDictionary;
82 
83 }
84 
85 #endif // _f4b88e07_d515_41be_ad1b_37899ec6451e
Tag const & get_tag() const
Return the tag value or raise an exception if type is not Tag.
Definition: ElementsDictionary.cpp:46
Definition: Association.cpp:39
A DICOM element tag.
Definition: Tag.h:22
Type const & get_type() const
Return the type.
Definition: ElementsDictionary.cpp:39
ElementsDictionaryKey()
Create a key with type equal to None.
Definition: ElementsDictionary.cpp:19
Type
Type of the key.
Definition: ElementsDictionary.h:25
std::string const & get_string() const
Return the string value or raise an exception if type is not String.
Definition: ElementsDictionary.cpp:57
bool operator<(ElementsDictionaryKey const &other) const
Comparator.
Definition: ElementsDictionary.cpp:84
Key of a dictionary of DICOM elements.
Definition: ElementsDictionary.h:21
Entry in a dictionary of DICOM elements.
Definition: ElementsDictionary.h:68