2 #ifndef __TDictionary_hh__
3 #define __TDictionary_hh__
14 TDictionary(void) { };
38 infix = prefix = postfix = 0;
39 delimiter = limits = embellishment = leftOpen = rightOpen = 0;
42 std::vector<TToken> pattern;
45 bool defined(void) const { return cls != UNDEFINED; };
46 bool hasArguments(void) const { return !pattern.empty(); };
47 bool paramDelimited(unsigned) const;
53 unsigned delimiter : 1;
55 unsigned embellishment : 1;
56 unsigned leftOpen : 1;
57 unsigned rightOpen : 1;
61 void load(const char* uri);
62 const Entry& find(const std::string&) const;
65 struct StringHash : public std::unary_function< std::string, size_t >
66 { size_t operator()(const std::string& s) const { return hash<char*>()(s.c_str()); } };
69 struct StringEq : public std::binary_function< std::string, std::string, bool >
70 { bool operator()(const std::string&, const class String*) const; };
73 typedef std::hash_map< std::string, Entry, StringHash > Dictionary;
77 #endif // __TDictionary_hh__