跳到主要内容

std::unordered_set equal_range() 方法

// (1) Non const version
std::pair<iterator, iterator> equal_range( const Key& key );

// (2) Const version
std::pair<const_iterator, const_iterator> equal_range( const Key& key ) const;

// (3) Non const version
template< class K >
std::pair<iterator, iterator> equal_range( const K& x );

// (4) Const version
template< class K >
std::pair<const_iterator, const_iterator> equal_range( const K& x ) const;
  • (1-2) 返回一个包含容器中所有键为 key 的元素的范围。该范围由两个迭代器定义,第一个指向所需范围的第一个元素,第二个指向该范围的最后一个元素之后的位置。
  • (3-4) 返回一个包含容器中所有键与 x 等价的元素的范围。此重载仅当 Hash::is_transparentKeyEqual::is_transparent 有效且各自表示一个类型时才参与重载决议。这假定此类 Hash 可以与 KKey 类型一起调用,并且 KeyEqual 是透明的,这共同允许在不构造 Key 实例的情况下调用此函数。

参数

  • key - 要计数的元素的键值
  • x - 可以与键透明比较的任何类型的值

返回值

包含定义所需范围的迭代器对的 std::pair

如果没有这样的元素,则将 past-the-end(参见 end())迭代器作为对的两个元素返回。

复杂度

平均情况下,与键为 key 的元素数量呈线性关系 - O(N),其中 N 是键为 key 的元素数量。
最坏情况下,与容器的大小呈线性关系 - O(size())

异常

(无)

备注

特性测试宏:__cpp_lib_generic_unordered_lookup(用于重载 (3-4))。

示例

重要

本节需要改进。您可以通过编辑此文档页面来帮助我们。

本文源自 此 CppReference 页面。它可能为了改进或编辑者偏好而进行了修改。点击“编辑此页面”查看本文档的所有更改。
悬停查看原始许可证。

std::unordered_set equal_range() 方法

// (1) Non const version
std::pair<iterator, iterator> equal_range( const Key& key );

// (2) Const version
std::pair<const_iterator, const_iterator> equal_range( const Key& key ) const;

// (3) Non const version
template< class K >
std::pair<iterator, iterator> equal_range( const K& x );

// (4) Const version
template< class K >
std::pair<const_iterator, const_iterator> equal_range( const K& x ) const;
  • (1-2) 返回一个包含容器中所有键为 key 的元素的范围。该范围由两个迭代器定义,第一个指向所需范围的第一个元素,第二个指向该范围的最后一个元素之后的位置。
  • (3-4) 返回一个包含容器中所有键与 x 等价的元素的范围。此重载仅当 Hash::is_transparentKeyEqual::is_transparent 有效且各自表示一个类型时才参与重载决议。这假定此类 Hash 可以与 KKey 类型一起调用,并且 KeyEqual 是透明的,这共同允许在不构造 Key 实例的情况下调用此函数。

参数

  • key - 要计数的元素的键值
  • x - 可以与键透明比较的任何类型的值

返回值

包含定义所需范围的迭代器对的 std::pair

如果没有这样的元素,则将 past-the-end(参见 end())迭代器作为对的两个元素返回。

复杂度

平均情况下,与键为 key 的元素数量呈线性关系 - O(N),其中 N 是键为 key 的元素数量。
最坏情况下,与容器的大小呈线性关系 - O(size())

异常

(无)

备注

特性测试宏:__cpp_lib_generic_unordered_lookup(用于重载 (3-4))。

示例

重要

本节需要改进。您可以通过编辑此文档页面来帮助我们。

本文源自 此 CppReference 页面。它可能为了改进或编辑者偏好而进行了修改。点击“编辑此页面”查看本文档的所有更改。
悬停查看原始许可证。