gdcmPDBHeader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __gdcmPDBHeader_h
00016 #define __gdcmPDBHeader_h
00017
00018 #include "gdcmTypes.h"
00019 #include "gdcmDataSet.h"
00020 #include "gdcmPDBElement.h"
00021
00022 namespace gdcm
00023 {
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 class DataElement;
00035 class PrivateTag;
00051 class GDCM_EXPORT PDBHeader
00052 {
00053 friend std::ostream& operator<<(std::ostream &_os, const PDBHeader &d);
00054 public :
00055 PDBHeader() {}
00056 ~PDBHeader() {}
00057
00059 bool LoadFromDataElement(DataElement const &de);
00060
00062 void Print(std::ostream &os) const;
00063
00065 static const PrivateTag & GetPDBInfoTag();
00066
00069 const PDBElement &GetPDBElementByName(const char *name);
00070
00072 bool FindPDBElementByName(const char *name);
00073
00074 protected:
00075 const PDBElement& GetPDBEEnd() const;
00076
00077 private:
00078 int readprotocoldatablock(const char *input, size_t inputlen, bool verbose);
00079 std::vector<PDBElement> InternalPDBDataSet;
00080 static PDBElement PDBEEnd;
00081 };
00082
00083 inline std::ostream& operator<<(std::ostream &os, const PDBHeader &d)
00084 {
00085 d.Print( os );
00086 return os;
00087 }
00088
00089 }
00090
00091 #endif //__gdcmPDBHeader_h