std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>:: equal_range
|
std::
pair
<
iterator, iterator
>
equal_range
(
const
Key
&
key
)
;
|
(1) |
(自 C++23 起)
(自 C++26 起为 constexpr) |
|
std::
pair
<
const_iterator, const_iterator
>
equal_range ( const Key & key ) const ; |
(2) |
(自 C++23 起)
(自 C++26 起为 constexpr) |
|
template
<
class
K
>
std:: pair < iterator, iterator > equal_range ( const K & x ) ; |
(3) |
(自 C++23 起)
(自 C++26 起为 constexpr) |
|
template
<
class
K
>
std::
pair
<
const_iterator, const_iterator
>
|
(4) |
(自 C++23 起)
(自 C++26 起为 constexpr) |
返回一个包含容器中所有具有给定键的元素的范围。该范围由两个迭代器定义,一个指向第一个 不 小于给定键的元素,另一个指向第一个大于给定键的元素。
或者,第一个迭代器可以通过 lower_bound() 获取,第二个迭代器可以通过 upper_bound() 获取。
目录参数
返回值std::pair 包含一对定义所需范围的迭代器:
由于
复杂度与容器大小呈对数关系。 示例运行此代码 #include <iostream>
#include <flat_map>
int main()
{
std::flat_multimap<int, char> dict
{
{1, 'A'},
{2, 'B'},
{2, 'C'},
{2, 'D'},
{4, 'E'},
{3, 'F'}
};
auto range = dict.equal_range(2);
for (auto i = range.first; i != range.second; ++i)
std::cout << i->first << ": " << i->second << '\n';
}
输出: 2: B
2: C
2: D
另见
|