#ifndef THESAURUS_H
#define THESAURUS_H
-
+
#include <vector>
-
+#include <map>
+
#include "LString.h"
#ifdef HAVE_LIBAIKSAURUS
-#include "AikSaurus.h"
+#include "Aiksaurus.h"
#endif
-
+
/**
* This class provides an interface to whatever thesauri we might support.
*/
///
~Thesaurus();
- /**
- * enum of possible part of speech types
- */
- enum POS {
- NONE = 0x0,
- OTHER = 0x01,
- NOUN = 0x02,
- VERB = 0x04,
- ADJECTIVE = 0x08,
- ADVERB = 0x10
- };
-
- /**
- * an individual entry from the thesaurus
- */
- struct ThesaurusEntry {
- ///
- ThesaurusEntry(const string & ent, char pos);
- /// the actual entry
- string entry;
- /// entry's part of speech
- int pos;
- };
+ typedef std::map<string, std::vector<string> > Meanings;
/**
* look up some text in the thesaurus
*/
- std::vector<ThesaurusEntry> lookup(string const & text);
+ Meanings lookup(string const & text);
private:
#ifdef HAVE_LIBAIKSAURUS
- AikSaurus * aik_;
+ Aiksaurus * aik_;
#endif
};
-
+
extern Thesaurus thesaurus;
-
+
#endif