3 #ifndef GDCMSQDOCENTRY_H
4 #define GDCMSQDOCENTRY_H
8 #include "gdcmSQItem.h"
9 #include "gdcmDocEntry.h"
11 //-----------------------------------------------------------------------------
12 typedef std::list<gdcmSQItem *> ListSQItem;
13 //-----------------------------------------------------------------------------
15 class GDCM_EXPORT gdcmSeqEntry : public gdcmDocEntry
18 gdcmSeqEntry(gdcmDictEntry* e, int depth);
21 virtual void Print(std::ostream &os = std::cout);
23 /// \brief returns the SQITEM chained List for this SeQuence.
24 inline ListSQItem &GetSQItems() {return items;};
26 /// \brief Sets the delimitor mode
27 inline void SetDelimitorMode(bool dm) { delimitor_mode = dm;}
29 /// \brief Sets the Sequence Delimitation Item
30 inline void SetSequenceDelimitationItem(gdcmDocEntry * e) { seq_term = e;}
32 void AddEntry(gdcmSQItem *it, int itemNumber);
34 /// \brief creates a new SQITEM for this SeQuence.
35 gdcmSQItem * NewItem(void);
37 gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element);
38 gdcmDocEntry *NewDocEntryByName (std::string Name);
39 gdcmDocEntry *GetDocEntryByNumber(guint16 group, guint16 element);
41 void SetDepthLevel(int depth);
48 /// \brief If this Sequence is in delimitor mode (length =0xffffffff) or not
51 /// \brief Chained list of SQ Items
54 /// \brief sequence terminator item
55 gdcmDocEntry *seq_term;
58 //-----------------------------------------------------------------------------