13 #include <boost/container/flat_map.hpp>
28 template <
typename value_t>
36 template <
typename value_t>
39 using InverseMultimap = boost::container::flat_multimap<value_t, Index>;
42 typename InverseMultimap::sequence_type unordered;
43 unordered.reserve(multimap.size());
44 for (
auto&& [index, value] : multimap) {
46 unordered.emplace_back(value, index);
50 InverseMultimap inverse;
51 inverse.adopt_sequence(std::move(unordered));