flat_set_equal_range

flat_set_equal_range (std::flat_set::equal_range — 동등 범위)

std::flat_set에서 지정한 키와 동등한 모든 원소를 포함하는 범위를 반환하는 멤버 함수예요. 두 이터레이터 쌍으로 표현돼요.

출처: cppreference

본문

시그니처는 다음과 같아요.

std::pair<iterator, iterator> equal_range( const Key& key );        // (1) (since C++23)
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) (since C++23)
template< class K >
std::pair<const_iterator, const_iterator> equal_range( const K& x ) const; // (4)

컨테이너에서 주어진 키를 가진 모든 원소를 포함하는 범위를 반환해요. 범위는 두 이터레이터로 정의되는데, 하나는 key보다 작지 않은 첫 번째 원소를, 다른 하나는 key보다 첫 번째 원소를 가리켜요. 바꿔 말하면 첫 이터레이터는 lower_bound()로, 둘째는 upper_bound()로 얻을 수 있어요.

(1,2) 키들을 key와 비교해요.

(3,4) 키들을 값 x와 비교해요. 이 오버로드는 한정 식별자 Compare::is_transparent가 유효하고 타입을 나타낼 때만 오버로드 해석에 참여해요.

매개변수

  • key: 원소들을 비교할 키 값
  • x: Key와 비교할 수 있는 대체 값

반환값

원하는 범위를 나타내는 std::pair — 첫 원소는 key와 동등한 첫 원소를, 둘째 원소는 key보다 큰 첫 원소를 가리키는 이터레이터. 동등한 원소가 없으면 두 이터레이터는 lower_bound 지점을 가리켜요.

복잡도

컨테이너 크기에 대해 로그(logarithmic)예요.

더 알아보기 (Learn more)

cppreference