1 // $Header: /cvs/public/gdcm/src/Attic/gdcmElValSet.h,v 1.11 2003/04/16 08:03:27 frog Exp $
6 #include <stdio.h> // FIXME For FILE on GCC only
8 #include "gdcmCommon.h"
9 #include "gdcmElValue.h"
11 ////////////////////////////////////////////////////////////////////////////
12 // Container for a set of successfully parsed ElValues.
13 typedef map<TagKey, gdcmElValue*> TagElValueHT;
14 typedef map<string, gdcmElValue*> TagElValueNameHT;
16 class GDCM_EXPORT gdcmElValSet {
17 TagElValueHT tagHt; // Both accesses with a TagKey or with a
18 TagElValueNameHT NameHt; // the DictEntry.Name are required.
20 typedef string GroupKey;
21 typedef map<GroupKey, int> GroupHT;
25 void Add(gdcmElValue*);
27 void Print(ostream &);
28 void PrintByName(ostream &);
29 int Write(FILE *fp, FileType type);
31 gdcmElValue* GetElementByNumber(guint16 group, guint16 element);
32 gdcmElValue* GetElementByName (string);
33 string GetElValueByNumber(guint16 group, guint16 element);
34 string GetElValueByName (string);
36 TagElValueHT & GetTagHt(void);
38 int SetElValueByNumber(string content, guint16 group, guint16 element);
39 int SetElValueByName (string content, string TagName);
41 int SetElValueLengthByNumber(guint32 l, guint16 group, guint16 element);
42 int SetElValueLengthByName (guint32 l, string TagName);
44 guint32 GenerateFreeTagKeyInGroup(guint16 group);
47 void UpdateGroupLength(bool SkipSequence = false, FileType type = ImplicitVR);
48 void WriteElements(FileType type, FILE *);