X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmElementSet.cxx;h=a5017dd6194bb679a0f41ac30078762007daed3d;hb=332835b05f78803ae6d2e92cf95c25548a229532;hp=ec3f2b436f923ce91373b76363e0e4cd92f1b74a;hpb=c92079b4881cba2560589210d4baeed9dd4d9cac;p=gdcm.git diff --git a/src/gdcmElementSet.cxx b/src/gdcmElementSet.cxx index ec3f2b43..a5017dd6 100644 --- a/src/gdcmElementSet.cxx +++ b/src/gdcmElementSet.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmElementSet.cxx,v $ Language: C++ - Date: $Date: 2004/08/31 14:24:47 $ - Version: $Revision: 1.17 $ + Date: $Date: 2004/09/03 14:04:02 $ + Version: $Revision: 1.18 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -123,9 +123,27 @@ bool gdcmElementSet::AddEntry( gdcmDocEntry *newEntry) } /** - * \brief Clear the hash table from given entry. + * \brief Clear the hash table from given entry BUT keep the entry. * @param entryToRemove Entry to remove. */ +bool gdcmElementSet::RemoveEntryNoDestroy( gdcmDocEntry *entryToRemove) +{ + gdcmTagKey key = entryToRemove->GetKey(); + if( TagHT.count(key) == 1 ) + { + TagHT.erase(key); + dbg.Verbose(0, "gdcmElementSet::RemoveEntry: one element erased."); + return true; + } + + dbg.Verbose(0, "gdcmElementSet::RemoveEntry: key not present: "); + return false ; +} + +/** + * \brief Clear the hash table from given entry AND delete the entry. + * @param entryToRemove Entry to remove AND delete. + */ bool gdcmElementSet::RemoveEntry( gdcmDocEntry *entryToRemove) { gdcmTagKey key = entryToRemove->GetKey(); @@ -133,6 +151,7 @@ bool gdcmElementSet::RemoveEntry( gdcmDocEntry *entryToRemove) { TagHT.erase(key); dbg.Verbose(0, "gdcmElementSet::RemoveEntry: one element erased."); + delete entryToRemove; return true; }