flat_map::extract

flat_map::extract (요소 꺼내기)

flat_map에서 요소를 꺼내 이동 가능한 형태로 반환하는 멤버 함수예요. <flat_map> 헤더, C++23부터.

출처: cppreference

본문

extract는 지정한 요소를 컨테이너에서 꺼내 std::flat_map::value_type(키-값) 포인터 형태로 반환해요.

node_type extract( const_iterator position );
node_type extract( const Key& key );
  • 위치 또는 키로 요소를 꺼내요.
  • 반환 타입 node_type은 요소를 소유해, 다른 flat_map에 재삽입하거나 파괴할 수 있어요.
  • 키로 꺼낼 때 키가 없으면 node_type은 비어 있어요(empty()로 확인).
std::flat_map<std::string, int> m{{"a",1},{"b",2}};
auto node = m.extract("b");        // b를 꺼냄
other.insert(std::move(node));     // 다른 flat_map으로 이동

정렬 벡터 기반 flat_map에서 요소를 "빼서 옮기는" 데 쓰는 함수예요. 벡터에서 요소를 지우면서 값을 소유하는 방식이에요.

더 알아보기 (Learn more)

cppreference