]> Creatis software - gdcm.git/blob - src/gdcmDict.h
Clean up with JPR. Frog
[gdcm.git] / src / gdcmDict.h
1 ////////////////////////////////////////////////////////////////////////////
2 // A single DICOM dictionary i.e. a container for a collection of dictionary
3 // entries. There should be a single public dictionary (THE dictionary of
4 // the actual DICOM v3) but as many shadow dictionaries as imagers 
5 // combined with all software versions...
6
7 #ifndef GDCMDICT_H
8 #define GDCMDICT_H
9
10 #include <map>
11 #include "gdcmCommon.h"
12 #include "gdcmDictEntry.h"
13
14 typedef map<TagKey,  gdcmDictEntry*> TagKeyHT;
15 typedef map<TagName, gdcmDictEntry*> TagNameHT;
16
17 class GDCM_EXPORT gdcmDict {
18         string name;
19         string filename;
20         TagKeyHT  KeyHt;                // Both accesses with a TagKey or with a
21         TagNameHT NameHt;               // TagName are required.
22 public:
23         gdcmDict(const char* FileName);   // Reads Dict from ascii file
24         int AddNewEntry (gdcmDictEntry* NewEntry);
25         int ReplaceEntry(gdcmDictEntry* NewEntry);
26         int RemoveEntry (TagKey key);
27         int RemoveEntry (guint16 group, guint16 element);
28         gdcmDictEntry * GetTagByNumber(guint16 group, guint16 element);
29         gdcmDictEntry * GetTagByName(TagName name);
30         void Print(ostream&);
31         void PrintByKey(ostream&);
32         void PrintByName(ostream&);
33         TagKeyHT & GetEntries(void) { return KeyHt; }
34 };
35
36 #endif