]> Creatis software - gdcm.git/blob - src/gdcmSQItem.h
Sooooon, it will be OK
[gdcm.git] / src / gdcmSQItem.h
1 // gdcmSQItem.h
2 //-----------------------------------------------------------------------------
3 #ifndef GDCMSQITEM_H
4 #define GDCMSQITEM_H
5
6 #include <list>
7
8 #include "gdcmDocEntry.h"
9 #include "gdcmDocEntrySet.h"
10
11 //-----------------------------------------------------------------------------
12 typedef std::list<gdcmDocEntry *> ListDocEntry;
13 //-----------------------------------------------------------------------------
14 class GDCM_EXPORT gdcmSQItem : public gdcmDocEntrySet
15 {
16 public:
17    gdcmSQItem(void);
18    ~gdcmSQItem(void);
19
20    virtual void Print(std::ostream &os = std::cout); 
21
22  /// \brief   returns the DocEntry chained List for this SQ Item.
23    inline ListDocEntry &GetDocEntries() 
24       {return docEntries;};   
25    
26  /// \brief   adds the passed DocEntry to the DocEntry chained List for this SQ Item.      
27    inline void AddDocEntry(gdcmDocEntry *e) 
28       {docEntries.push_back(e);};         
29
30    virtual bool AddEntry(gdcmDocEntry *Entry); // add to the List
31                
32 protected:
33
34 private:
35
36    // DocEntry related utilities 
37          
38    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group,
39                                              guint16 element);
40    virtual gdcmDocEntry *NewDocEntryByName  (std::string Name); 
41
42 // Variables
43
44 /// \brief chained list of (Elementary) Doc Entries
45   ListDocEntry docEntries;
46 /// \brief SQ Item ordinal number 
47   int SQItemNumber;
48 };
49
50
51 //-----------------------------------------------------------------------------
52 #endif
53