GDCM 2.2.1

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

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 {
28 class GDCM_EXPORT Dicts
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 {
59 PHILIPS,
60 GEMS,
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