flat_set_lower_bound

flat_set_lower_bound (std::flat_set::lower_bound — 하한 이터레이터)

std::flat_set에서 주어진 키보다 작지 않은 첫 번째 원소를 가리키는 이터레이터를 반환하는 멤버 함수예요. 투명 비교자를 쓰면 Key 인스턴스를 만들지 않고 값을 기준으로 찾을 수 있어요.

출처: cppreference

본문

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

iterator lower_bound( const Key& key );                        // (1) (since C++23)
const_iterator lower_bound( const Key& key ) const;            // (2) (since C++23)
template< class K >
iterator lower_bound( const K& x );                            // (3) (since C++23)
template< class K >
const_iterator lower_bound( const K& x ) const;                // (4) (since C++23)

(1,2) key보다 작지 않은(즉 크거나 같은) 첫 번째 원소를 가리키는 이터레이터를 반환해요.

(3,4) x와 비교했을 때 작지 않은(즉 크거나 같은) 첫 번째 원소를 가리키는 이터레이터를 반환해요. 이 오버로드는 한정 식별자 Compare::is_transparent가 유효하고 타입을 나타낼 때만 오버로드 해석에 참여해요. Key 인스턴스를 만들지 않고도 이 함수를 호출할 수 있게 해 주는 오버로드예요.

매개변수

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

반환값

key보다 작지 않은 첫 번째 원소를 가리키는 이터레이터. 그런 원소가 없으면 past-the-end 이터레이터(end() 참고)를 반환해요.

복잡도

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

함께 보기

  • equal_range: 특정 키와 일치하는 원소들의 범위를 반환해요 (공개 멤버 함수)
  • upper_bound: 주어진 키보다 큰 첫 번째 원소를 가리키는 이터레이터를 반환해요 (공개 멤버 함수)

더 알아보기 (Learn more)

cppreference