]> Creatis software - gdcm.git/blob - src/gdcmElementSet.h
general commit of (future) new classes.
[gdcm.git] / src / gdcmElementSet.h
1 // gdcmElementSet.h
2
3 #ifndef GDCMELEMENTSET_H
4 #define GDCMELEMENTSET_H
5
6 #include "gdcmDocEntrySet.h"
7 #include "gdcmDocEntry.h"
8
9 #include <map>
10 typedef std::string TagKey;
11 typedef std::map<TagKey, gdcmDocEntry *> TagDocEntryHT;
12
13
14 //-----------------------------------------------------------------------------
15
16 class GDCM_EXPORT gdcmElementSet : public gdcmDocEntrySet 
17 {
18 public:
19    gdcmElementSet(void);
20    ~gdcmElementSet(void);
21    virtual bool AddEntry(gdcmDocEntry *Entry); // add to the H Table
22
23   
24 protected:
25
26 private:
27
28    // DocEntry related utilities    
29    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group,
30                                              guint16 element);
31    virtual gdcmDocEntry *NewDocEntryByName  (std::string Name);  
32
33
34 // Variables
35
36    /// Hash Table (map), to provide fast access
37    TagDocEntryHT tagHT;   
38    
39 };
40
41 //-----------------------------------------------------------------------------
42 #endif
43