10 #ifndef META_INVERTIBLE_MAP_H_
11 #define META_INVERTIBLE_MAP_H_
17 #include <unordered_map>
29 template <
class Key,
class Value>
52 Key
get_key(
const Value& value)
const;
77 void insert(
const Key& key,
const Value& value);
84 void insert(
const std::pair<Key, Value>& pair);
94 typedef typename std::unordered_map
103 <std::bidirectional_iterator_tag, InnerIterator>
132 InnerIterator save =
iter;
147 InnerIterator save =
iter;
155 return iter == other.
iter;
161 return iter != other.
iter;
197 const_iterator
begin()
const;
202 const_iterator
end()
const;
218 using std::runtime_error::runtime_error;