#include <cstdio> #include <set> #include <utility> #include "ojl/bimap.hpp" int main(int argc, char* argv[]) { (void)argc; (void)argv; ojl::bimap<int, double> bm; bm.insert(1,1.0); bm.insert(1,2.0); bm.insert(2,1.0); bm.insert(2,2.0); bm.insert(2,3.0); for (int i = 1; i < 3; i++){ printf("Key %d, %lu vals\n", i, bm.l_count(i)); const auto [lb, ub] = bm.l_equal_range(i); for (auto it = lb; it != ub; it++){ printf(" %d : %lf\n", it->first, it->second); } //const auto [lb, ub] = bm.left_equal_range(i); } printf("\n"); for (int i = 1; i < 4; i++){ printf("Key %lf, %lu vals\n", (double)i, bm.r_count((double)i)); const auto [lb, ub] = bm.r_equal_range((double)i); for (auto it = lb; it != ub; it++){ printf(" %d : %lf\n", it->first, it->second); } } return 0; }