18 #ifndef StringBijection_h
19 #define StringBijection_h
49 #pragma warning(disable:4510 4512 4610) // no default constructor and no assignment operator; conflicts with initializer
66 insert(entries[i].str, entries[i].key, checkDuplicates);
67 }
while (entries[i++].key != terminatorKey);
71 void insert(
const std::string str,
const T key,
bool checkDuplicates =
true) {
72 if (checkDuplicates) {
86 void addAlias(
const std::string str,
const T key) {
91 void remove(
const std::string str,
const T key) {
97 T
get(
const std::string& str)
const {
121 bool has(
const T key)
const {
132 std::vector<std::string> result;
133 typename std::map<T, std::string>::const_iterator it;
135 result.push_back(it->second);
142 typename std::map<T, std::string>::const_iterator it;
144 list.push_back(it->first);