+//-----------------------------------------------------------------------------
+// Constructor / Destructor
+/**
+ * \ingroup DictSet
+ * \brief The Dictionnary Set obtained with this constructor simply
+ * contains the Default Public dictionnary.
+ */
+DictSet::DictSet()
+{
+ DictPath = BuildDictPath();
+ std::string pubDictFile(DictPath);
+ pubDictFile += PUB_DICT_FILENAME;
+ Dicts[PUB_DICT_NAME] = new Dict(pubDictFile);
+}
+
+/**
+ * \ingroup DictSet
+ * \brief Destructor
+ */
+DictSet::~DictSet()
+{
+ // Remove dictionnaries
+ for (DictSetHT::iterator tag = Dicts.begin(); tag != Dicts.end(); ++tag)
+ {
+ Dict *entryToDelete = tag->second;
+ if ( entryToDelete )
+ {
+ delete entryToDelete;
+ }
+ tag->second = NULL;
+ }
+ Dicts.clear();
+
+ // Remove virtual dictionnary entries
+ VirtualEntry.clear();
+}
+
+//-----------------------------------------------------------------------------
+// Print
+/**
+ * \ingroup DictSet
+ * \brief Print, in an informal fashion, the list of all the dictionaries
+ * contained is this DictSet, along with their respective content.
+ * @param os Output stream used for printing.
+ */
+void DictSet::Print(std::ostream& os)
+{
+ for (DictSetHT::iterator dict = Dicts.begin(); dict != Dicts.end(); ++dict)
+ {
+ os << "Printing dictionary " << dict->first << std::endl;
+ dict->second->Print(os);
+ }
+}