X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDict.cxx;h=bba44f7983da40b2adbb417ac47fa81b29a11865;hb=fdef18c217469cc507704db6d686ce195e82e4ce;hp=ad8945f586311372f9e058163c040ac04e12329b;hpb=9d7bc1062abc4ca53c072f752c8938b08748fff8;p=gdcm.git diff --git a/src/gdcmDict.cxx b/src/gdcmDict.cxx index ad8945f5..bba44f79 100644 --- a/src/gdcmDict.cxx +++ b/src/gdcmDict.cxx @@ -1,18 +1,14 @@ // gdcmDict.cxx -//This is needed when compiling in debug mode -#ifdef _MSC_VER -// 'identifier' : class 'type' needs to have dll-interface to be used by -// clients of class 'type2' -#pragma warning ( disable : 4251 ) -// 'identifier' : identifier was truncated to 'number' characters in the -// debug information -#pragma warning ( disable : 4786 ) -#endif //_MSC_VER - -#include #include "gdcmDict.h" #include "gdcmUtil.h" +#include +#ifdef GDCM_NO_ANSI_STRING_STREAM +# include +# define ostringstream ostrstream +# else +# include +#endif /** * \ingroup gdcmDict @@ -30,6 +26,7 @@ gdcmDict::gdcmDict(std::string & FileName) { TagName vr; TagName fourth; TagName name; + while (!from.eof()) { from >> std::hex >> group >> element; eatwhite(from); @@ -82,14 +79,17 @@ void gdcmDict::Print(std::ostream& os) { * @param os The output stream to be written to. */ void gdcmDict::PrintByKey(std::ostream& os) { + std::ostringstream s; + for (TagKeyHT::iterator tag = KeyHt.begin(); tag != KeyHt.end(); ++tag){ - os << "Tag : "; - os << "(" << std::hex << tag->second->GetGroup() << ','; - os << std::hex << tag->second->GetElement() << ") = " << std::dec; - os << tag->second->GetVR() << ", "; - os << tag->second->GetFourth() << ", "; - os << tag->second->GetName() << "." << std::endl; + s << "Tag : "; + s << "(" << std::hex << tag->second->GetGroup() << ','; + s << std::hex << tag->second->GetElement() << ") = " << std::dec; + s << tag->second->GetVR() << ", "; + s << tag->second->GetFourth() << ", "; + s << tag->second->GetName() << "." << std::endl; } + os << s.str(); } /** @@ -99,14 +99,17 @@ void gdcmDict::PrintByKey(std::ostream& os) { * @param os The output stream to be written to. */ void gdcmDict::PrintByName(std::ostream& os) { + std::ostringstream s; + for (TagNameHT::iterator tag = NameHt.begin(); tag != NameHt.end(); ++tag){ - os << "Tag : "; - os << tag->second->GetName() << ","; - os << tag->second->GetVR() << ", "; - os << tag->second->GetFourth() << ", "; - os << "(" << std::hex << tag->second->GetGroup() << ','; - os << std::hex << tag->second->GetElement() << ") = " << std::dec << std::endl; + s << "Tag : "; + s << tag->second->GetName() << ","; + s << tag->second->GetVR() << ", "; + s << tag->second->GetFourth() << ", "; + s << "(" << std::hex << tag->second->GetGroup() << ','; + s << std::hex << tag->second->GetElement() << ") = " << std::dec << std::endl; } + os << s.str(); } /**