19 #ifndef StringBijection_h
20 #define StringBijection_h
50 #pragma warning(disable:4510 4512 4610) // no default constructor and no assignment operator; conflicts with initializer
67 insert(entries[i].str, entries[i].key, checkDuplicates);
68 }
while (entries[i++].key != terminatorKey);
72 void insert(
const std::string str,
const T key,
bool checkDuplicates =
true) {
73 if (checkDuplicates) {
87 void addAlias(
const std::string str,
const T key) {
92 void remove(
const std::string str,
const T key) {
98 T
get(
const std::string& str)
const {
122 bool has(
const T key)
const {
133 std::vector<std::string> result;
134 typename std::map<T, std::string>::const_iterator it;
136 result.push_back(it->second);
143 typename std::map<T, std::string>::const_iterator it;
145 list.push_back(it->first);