3#include <unordered_map>
7template <
typename First,
typename Second,
template <
typename,
typename>
class Impl = std::unordered_map>
20 const Second&
at(
const First& first)
const {
return forward.at(first); }
22 const First&
at(
const Second& second)
const {
return backward.at(second); }
24 void insert(First first, Second second) {
30 const auto& second =
at(first);
36 const auto& first =
at(second);
const Second & at(const First &first) const
Definition BiMap.hpp:20
void clear()
Definition BiMap.hpp:15
bool empty() const
Definition BiMap.hpp:13
Impl< Second, First > BackwardMap
Definition BiMap.hpp:11
const First & at(const Second &second) const
Definition BiMap.hpp:22
BackwardMap backward
Definition BiMap.hpp:43
void remove(Second second)
Definition BiMap.hpp:35
void insert(First first, Second second)
Definition BiMap.hpp:24
ForwardMap forward
Definition BiMap.hpp:42
Impl< First, Second > ForwardMap
Definition BiMap.hpp:10
void remove(First first)
Definition BiMap.hpp:29