◐ Shell
clean mode source ↗

std::set<Key,Compare,Allocator>::equal_range - cppreference.com

提供: cppreference.com

<tbody> </tbody>

std::pair<iterator,iterator> equal_range( const Key& key );

(1)

std::pair<const_iterator,const_iterator> equal_range( const Key& key ) const;

(2)

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

(3) (C++14以上)

template< class K > std::pair<const_iterator,const_iterator> equal_range( const K& x ) const;

(4) (C++14以上)

コンテナ内の指定されたキーを持つすべての要素を含む範囲を返します。 範囲は2つのイテレータで示されます。 ひとつは key より小さくない最初の要素を指し、もうひとつは key より大きい最初の要素を指します。 代わりに lower_bound() を使用して最初の要素を取得し、 upper_bound() を使用して2番目の要素を取得することもできます。

1,2) キーと key を比較します。

3,4) キーと値 x を比較します。 このオーバーロードは、修飾識別子 Compare::is_transparent が有効で、型を表す場合にのみ、オーバーロード解決に参加します。 これにより Key を構築せずにこの関数を呼ぶことができます。

引数

key - 要素と比較するキーの値
x - Key と比較可能な代わりの値

戻り値

所望の範囲を示す1組のイテレータを持つ std::pair。 その最初の要素は key より小さくない最初の要素を指し、その2番目の要素は key より大きい最初の要素を指します。

key より小さくない要素がない場合は、最初の要素として終端イテレータ (end() を参照) が返されます。 同様に、 key より大きい要素がない場合は、2番目の要素として終端イテレータが返されます。

計算量

コンテナのサイズの対数。

関連項目