1 // $Header: /cvs/public/gdcm/src/Attic/gdcmElValSet.h,v 1.10 2003/04/09 14:04:53 jpr 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;
24 void Add(gdcmElValue*);
26 void Print(ostream &);
27 void PrintByName(ostream &);
28 int Write(FILE *fp, FileType type);
30 gdcmElValue* GetElementByNumber(guint16 group, guint16 element);
31 gdcmElValue* GetElementByName (string);
32 string GetElValueByNumber(guint16 group, guint16 element);
33 string GetElValueByName (string);
35 TagElValueHT & GetTagHt(void);
37 int SetElValueByNumber(string content, guint16 group, guint16 element);
38 int SetElValueByName (string content, string TagName);
40 int SetElValueLengthByNumber(guint32 l, guint16 group, guint16 element);
41 int SetElValueLengthByName (guint32 l, string TagName);
43 guint32 GenerateFreeTagKeyInGroup(guint16 group);
46 void UpdateGroupLength(bool SkipSequence = false, FileType type = ImplicitVR);
47 void WriteElements(FileType type, FILE *);