X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDictSet.cxx;h=ecef7934c3d3988d3e096d8da821c8af10f22017;hb=3d6874613ae6753dac9af37afc0f7172342301cd;hp=b7c522efd8a795497c370b7b638c46540ddf016b;hpb=43a9d401c9db4db824a5817e1ef1f3791aba8630;p=gdcm.git diff --git a/src/gdcmDictSet.cxx b/src/gdcmDictSet.cxx index b7c522ef..ecef7934 100644 --- a/src/gdcmDictSet.cxx +++ b/src/gdcmDictSet.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDictSet.cxx,v $ Language: C++ - Date: $Date: 2005/06/14 14:00:04 $ - Version: $Revision: 1.63 $ + Date: $Date: 2005/07/11 20:44:52 $ + Version: $Revision: 1.68 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -20,6 +20,7 @@ #include "gdcmDebug.h" #include #include // For getenv +#include // For sprintf namespace gdcm { @@ -87,7 +88,7 @@ Dict *DictSet::LoadDictFromFile(std::string const &filename, Dict *DictSet::GetDict(DictKey const &dictName) { DictSetHT::iterator dict = Dicts.find(dictName); - if(dict != Dicts.end()) + if ( dict != Dicts.end() ) { return dict->second; } @@ -115,15 +116,22 @@ DictEntry *DictSet::NewVirtualDictEntry( uint16_t group, // // const std::string tag = DictEntry::TranslateToKey(group,elem) // + "#" + vr + "#" + vm + "#" + name; +#if FASTTAGKEY && 0 + // FIXME + TagKey tag; + tag.tab[0] = group; + tag.tab[1] = elem; +#else char res[10]; sprintf(res,"%04x|%04x", group, elem); - std::string tag = res; + ExtendedTagKey tag = res; tag += "#" + vr + "#" + vm + "#" + name; +#endif - TagKeyHT::iterator it; + ExtendedTagKeyHT::iterator it; it = VirtualEntries.find(tag); - if(it != VirtualEntries.end()) + if ( it != VirtualEntries.end() ) { entry = &(it->second); } @@ -131,7 +139,7 @@ DictEntry *DictSet::NewVirtualDictEntry( uint16_t group, { DictEntry ent(group, elem, vr, vm, name); VirtualEntries.insert( - std::map::value_type(tag, ent) ); + ExtendedTagKeyHT::value_type(tag, ent) ); entry = &(VirtualEntries.find(tag)->second); } @@ -145,7 +153,7 @@ DictEntry *DictSet::NewVirtualDictEntry( uint16_t group, Dict *DictSet::GetFirstEntry() { ItDictHt = Dicts.begin(); - if( ItDictHt != Dicts.end() ) + if ( ItDictHt != Dicts.end() ) return ItDictHt->second; return NULL; }