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에서 요소를 "빼서 옮기는" 데 쓰는 함수예요. 벡터에서 요소를 지우면서 값을 소유하는 방식이에요.