Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef GDCMDICTS_H
00016 #define GDCMDICTS_H
00017
00018 #include "gdcmDict.h"
00019 #include "gdcmCSAHeaderDict.h"
00020
00021 #include <string>
00022
00023 namespace gdcm
00024 {
00029 class GDCM_EXPORT Dicts
00030 {
00031 friend std::ostream& operator<<(std::ostream &_os, const Dicts &d);
00032 public:
00033 Dicts();
00034 ~Dicts();
00035
00039
00040 const DictEntry &GetDictEntry(const Tag& tag, const char *owner = NULL) const;
00041
00042 const DictEntry &GetDictEntry(const PrivateTag& tag) const;
00043
00044
00045
00046
00047
00048
00049 const Dict &GetPublicDict() const;
00050
00051 const PrivateDict &GetPrivateDict() const;
00052
00053 const CSAHeaderDict &GetCSAHeaderDict() const;
00054
00055 bool IsEmpty() const { return GetPublicDict().IsEmpty(); }
00056
00057 protected:
00058 typedef enum {
00059 PHILIPS,
00060 GEMS,
00061 SIEMENS
00062
00063 } ConstructorType;
00064 static const char *GetConstructorString(ConstructorType type);
00065
00066 friend class Global;
00067 void LoadDefaults();
00068
00069 private:
00070
00071 Dict PublicDict;
00072
00073
00074 PrivateDict ShadowDict;
00075
00076 CSAHeaderDict CSADict;
00077 Dicts &operator=(const Dicts &_val);
00078 Dicts(const Dicts &_val);
00079 };
00080
00081 inline std::ostream& operator<<(std::ostream &os, const Dicts &d)
00082 {
00083 (void)d;
00084 return os;
00085 }
00086
00087
00088 }
00089
00090 #endif //GDCMDICTS_H