X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDocEntrySet.h;h=d2a5f485c4fcf5b33438b8e8744d05904abef74d;hb=c2975ffb8c79fa4d745368d8d1c317c5a313dd0a;hp=92f1c492e3ac67f6fa1a7e839e13fa35a931b9a7;hpb=6b51b22366f878e1050c75a6ebb755bd2ff365c7;p=gdcm.git diff --git a/src/gdcmDocEntrySet.h b/src/gdcmDocEntrySet.h index 92f1c492..d2a5f485 100644 --- a/src/gdcmDocEntrySet.h +++ b/src/gdcmDocEntrySet.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDocEntrySet.h,v $ Language: C++ - Date: $Date: 2005/10/25 14:52:34 $ - Version: $Revision: 1.62 $ + Date: $Date: 2005/11/30 08:48:17 $ + Version: $Revision: 1.67 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -41,15 +41,17 @@ class DictEntry; * - \ref ElementSet is based on the STL map<> container * (see \ref ElementSet::TagHT) * - \ref SQItem is based on an STL list container (see \ref ListDocEntry). + * * Since the syntax for adding a new element to a map<> or a list<> * differ, \ref DocEntrySet is designed as an adapter to unify the * interfaces of \ref DocEntrySet and \ref ElementSet. + * * As an illustration of this design, please refer to the implementation * of \ref AddEntry (or any pure virtual method) in both derived classes. * This adapter unification of interfaces enables the parsing of a * DICOM header containing (optionaly heavily nested) sequences to be * written recursively [see \ref Document::ParseDES - * which calls \ref Document::ParseSQ, which in turns calls + * which calls \ref Document::ParseSQ, which in turn calls * \ref Document::ParseDES ]. * * \note Developpers should strongly resist to the temptation of adding @@ -64,21 +66,20 @@ public: /// \brief write any type of entry to the entry set virtual void WriteContent (std::ofstream *fp, FileType filetype) = 0; - /// \brief Remove all Entry in the entry set + /// \brief Remove all Entry of the current set virtual void ClearEntry() = 0; - /// \brief adds any type of entry to the entry set + /// \brief adds any type of entry to the current set virtual bool AddEntry(DocEntry *entry) = 0; /// \brief Removes any type of entry out of the entry set, and destroys it virtual bool RemoveEntry(DocEntry *entryToRemove) = 0; - /// Gets the first entry of any type of set + /// \brief Gets the first entry (of any type) of the current set virtual DocEntry *GetFirstEntry()=0; - /// Gets the next entry of any type of set + /// \brief Gets the next entry (of any type) of the current set virtual DocEntry *GetNextEntry()=0; virtual std::string GetEntryString(uint16_t group, uint16_t elem); virtual void *GetEntryBinArea(uint16_t group, uint16_t elem); virtual int GetEntryLength(uint16_t group, uint16_t elem); - virtual std::string GetEntryForcedAsciiValue(uint16_t group, uint16_t elem); /// \brief Gets any type of DocEntry, identified by its (group,elem) virtual DocEntry *GetDocEntry(uint16_t group, uint16_t elem) = 0; @@ -101,7 +102,7 @@ public: uint16_t group, uint16_t elem, VRKey const &vr = GDCM_VRUNKNOWN); SeqEntry *InsertSeqEntry(uint16_t group, uint16_t elem); - /// tells us if the set contains no entry + /// \brief Tells us if the set contains no entry virtual bool IsEmpty() = 0; virtual bool CheckIfEntryExist(uint16_t group, uint16_t elem); @@ -110,6 +111,8 @@ public: VRKey const &vr = GDCM_VRUNKNOWN); SeqEntry *NewSeqEntry(uint16_t group, uint16_t elem); + virtual void Copy(DocEntrySet *) {}; + protected: /// Canonical Constructor DocEntrySet();