GDCM  2.2.4
gdcmDicts.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: GDCM (Grassroots DICOM). A DICOM library
4 
5  Copyright (c) 2006-2011 Mathieu Malaterre
6  All rights reserved.
7  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
14 #ifndef GDCMDICTS_H
15 #define GDCMDICTS_H
16 
17 #include "gdcmDict.h"
18 #include "gdcmCSAHeaderDict.h"
19 
20 #include <string>
21 
22 namespace gdcm
23 {
29 {
30  friend std::ostream& operator<<(std::ostream &_os, const Dicts &d);
31 public:
32  Dicts();
33  ~Dicts();
34 
38  // DataSet::GetPrivateCreator
39  const DictEntry &GetDictEntry(const Tag& tag, const char *owner = NULL) const;
40 
41  const DictEntry &GetDictEntry(const PrivateTag& tag) const;
42 
43  //enum PublicTypes {
44  // DICOMV3_DICT,
45  // ACRNEMA_DICT,
46  // NIH_DICT
47  //};
48  const Dict &GetPublicDict() const;
49 
50  const PrivateDict &GetPrivateDict() const;
51  PrivateDict &GetPrivateDict();
52 
53  const CSAHeaderDict &GetCSAHeaderDict() const;
54 
55  bool IsEmpty() const { return GetPublicDict().IsEmpty(); }
56 
57 protected:
58  typedef enum {
61  SIEMENS
62  // ...
63  } ConstructorType;
64  static const char *GetConstructorString(ConstructorType type);
65 
66  friend class Global;
67  void LoadDefaults();
68 
69 private:
70  // Public dict:
71  Dict PublicDict;
72 
73  // Private Dicts:
74  PrivateDict ShadowDict;
75 
76  CSAHeaderDict CSADict;
77  Dicts &operator=(const Dicts &_val); // purposely not implemented
78  Dicts(const Dicts &_val); // purposely not implemented
79 };
80 //-----------------------------------------------------------------------------
81 inline std::ostream& operator<<(std::ostream &os, const Dicts &d)
82 {
83  (void)d;
84  return os;
85 }
86 
87 
88 } // end namespace gdcm
89 
90 #endif //GDCMDICTS_H
Class to represent a Private DICOM Data Element (Attribute) Tag (Group, Element, Owner) ...
Definition: gdcmPrivateTag.h:37
Global.
Definition: gdcmGlobal.h:49
#define GDCM_EXPORT
Definition: gdcmWin32.h:34
std::ostream & operator<<(std::ostream &os, const Directory &d)
Definition: gdcmDirectory.h:92
Class to represent an Entry in the Dict Does not really exist within the DICOM definition, just a way to minimize storage and have a mapping from gdcm::Tag to the needed information.
Definition: gdcmDictEntry.h:36
bool IsEmpty() const
Definition: gdcmDicts.h:55
Class to represent a map of DictEntry.
Definition: gdcmDict.h:44
Class to manipulate the sum of knowledge (all the dict user load)
Definition: gdcmDicts.h:28
Definition: gdcmDicts.h:60
Private Dict.
Definition: gdcmDict.h:216
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element). Basically an uint32_t which...
Definition: gdcmTag.h:38
Definition: gdcmDicts.h:59
Class to represent a map of CSAHeaderDictEntry.
Definition: gdcmCSAHeaderDict.h:34
bool IsEmpty() const
Definition: gdcmDict.h:61

Generated on Sat Dec 21 2013 01:40:05 for GDCM by doxygen 1.8.5
SourceForge.net Logo