1#ifndef LIBSBX_UTILITY_MULTIMAP_KEY_RANGE_HPP_
2#define LIBSBX_UTILITY_MULTIMAP_KEY_RANGE_HPP_
9namespace sbx::utility {
12concept multimap =
requires {
13 typename Map::key_type;
14 typename Map::iterator;
15 typename Map::const_iterator;
16} &&
requires(Map& map,
const Map::key_type& key) {
17 { map.equal_range(key) };
25 using key_type =
typename Map::key_type;
26 using iterator = std::conditional_t<std::is_const_v<Map>,
typename Map::const_iterator,
typename Map::iterator>;
29 std::tie(_begin, _end) = range.equal_range(key);
32 auto begin() -> iterator {
36 auto end() -> iterator {
Definition: multimap_key_range.hpp:21