8template <
typename T_key,
typename T_val>
struct Pair {
17template <
typename T_key,
typename T_val>
class MiniMap {
28 *it = pair_list.back();
38 for (
auto &pair_item : pair_list) {
39 if (pair_item.first == key) {
47 for (
auto &pair_item : pair_list) {
48 if (pair_item.first == key) {
55 int size()
const {
return pair_list.size(); };
57 int size() {
return pair_list.size(); };
65 return pair_list.back().second;
74 pair_list.emplace_back();
75 pair_list.back().first = key;
76 pair_list.back().second = T_val();
77 return pair_list.back().second;
81 const T_val &
at(
const T_key &key)
const {
87 return pair_list.back().second;
91 T_val &
at(
const T_key &key) {
97 return pair_list.back().second;
static void PrintError(std::string const &info)
Definition utils_io.cpp:18
Definition mini_map.hpp:17
Pair< T_key, T_val > * find(const T_key &key)
Definition mini_map.hpp:46
const Pair< T_key, T_val > * find(const T_key &key) const
Definition mini_map.hpp:37
int size() const
Definition mini_map.hpp:55
const T_val & operator[](const T_key &key) const
Definition mini_map.hpp:59
void erase(Pair< T_key, T_val > *it)
Definition mini_map.hpp:27
T_val & at(const T_key &key)
Definition mini_map.hpp:91
T_val & operator[](const T_key &key)
Definition mini_map.hpp:69
const Pair< T_key, T_val > * end() const
Definition mini_map.hpp:23
Pair< T_key, T_val > * begin()
Definition mini_map.hpp:21
const T_val & at(const T_key &key) const
Definition mini_map.hpp:81
void clear()
Definition mini_map.hpp:101
const Pair< T_key, T_val > * begin() const
Definition mini_map.hpp:19
void erase(const T_key &key)
Definition mini_map.hpp:32
Pair< T_key, T_val > * end()
Definition mini_map.hpp:25
int size()
Definition mini_map.hpp:57
Definition bond_entry.hpp:7
std::vector< T > VecXT
Definition utils_macros.hpp:31
Definition mini_map.hpp:8
Pair(const T_key &key, const T_key &val)
Definition mini_map.hpp:14
Pair()
Definition mini_map.hpp:13
T_key first
Definition mini_map.hpp:10
T_val second
Definition mini_map.hpp:11