+ * \brief Retrieve the specified dictionary (when existing) from this
+ * gdcmDictSet.
+ * @param dictName The symbolic name of the searched dictionary.
+ * \result The retrieved dictionary.
+ */
+gdcmDict *gdcmDictSet::GetDict(DictKey const & dictName)
+{
+ DictSetHT::iterator dict = Dicts.find(dictName);
+ if(dict != Dicts.end())
+ {
+ return dict->second;
+ }
+ return NULL;
+}
+
+/**
+ * \brief Create a gdcmDictEntry which will be reference
+ * in no dictionnary
+ * @return virtual entry
+ */
+gdcmDictEntry *gdcmDictSet::NewVirtualDictEntry(uint16_t group,
+ uint16_t element,
+ std::string vr,
+ std::string fourth,
+ std::string name)
+{
+ gdcmDictEntry* entry;
+ const std::string tag = gdcmDictEntry::TranslateToKey(group,element)
+ + "#" + vr + "#" + fourth + "#" + name;
+ std::map<std::string,gdcmDictEntry *>::iterator it;
+
+ it = VirtualEntry.find(tag);
+ if(it != VirtualEntry.end())
+ {
+ entry = it->second;
+ }
+ else
+ {
+ entry = new gdcmDictEntry(group, element, vr, fourth, name);
+ VirtualEntry[tag] = entry;
+ }
+
+ return entry;
+}
+
+/**