#ifndef __creaImageIODicomNodeTypeDescription_h_INCLUDED__ #define __creaImageIODicomNodeTypeDescription_h_INCLUDED__ #include #include namespace creaImageIO { //===================================================================== class DicomNodeTypeDescription { public: DicomNodeTypeDescription(); ~DicomNodeTypeDescription(); void BuildDefault(int typecode); void Add(const Field::Description&); typedef std::map FieldDescriptionMapType; FieldDescriptionMapType& GetFieldDescriptionMap() { return mFieldDescriptionMap; } const FieldDescriptionMapType& GetFieldDescriptionMap() const { return mFieldDescriptionMap; } const Field::Description& GetFieldDescription(const Field::Key& k) const { return mFieldDescriptionMap.find(k)->second; } protected: private: FieldDescriptionMapType mFieldDescriptionMap; }; // class DicomNodeTypeDescription //===================================================================== } // namespace creaImageIO //===================================================================== inline std::ostream& operator<<(std::ostream& s, const creaImageIO::DicomNodeTypeDescription& d) { const creaImageIO::DicomNodeTypeDescription::FieldDescriptionMapType& m = d.GetFieldDescriptionMap(); s <<"["; creaImageIO::DicomNodeTypeDescription::FieldDescriptionMapType::const_iterator i; for (i=m.begin();i!=m.end();++i) { s <second; } s<<"]"; return s; } //===================================================================== #endif // #ifndef __creaImageIODicomNodeTypeDescription_h_INCLUDED__