2#ifndef LIBSBX_UTILITY_MULTIMAP_KEY_RANGE_HPP_
3#define LIBSBX_UTILITY_MULTIMAP_KEY_RANGE_HPP_
10namespace sbx::utility {
13concept multimap =
requires {
14 typename Map::key_type;
15 typename Map::iterator;
16 typename Map::const_iterator;
17} &&
requires(Map& map,
const Map::key_type& key) {
18 { map.equal_range(key) };
26 using key_type =
typename Map::key_type;
27 using iterator = std::conditional_t<std::is_const_v<Map>,
typename Map::const_iterator,
typename Map::iterator>;
30 std::tie(_begin, _end) = range.equal_range(key);
33 auto begin() -> iterator {
37 auto end() -> iterator {
Definition: multimap_key_range.hpp:22