flat_multimap_replace
flat_multimap_replace (std::flat_multimap::replace — 내부 컨테이너 교체)
std::flat_multimap의 내부 적응 컨테이너(키 컨테이너와 매핑값 컨테이너)를 통째로 새 것으로 교체하는 멤버 함수예요. 이동(move) 방식으로 옮겨요.
출처: cppreference
본문
시그니처는 다음과 같아요.
void replace( key_container_type&& key_cont, mapped_container_type&& mapped_cont );
// (since C++23)
내부 컨테이너를 교체해요. 다음과 동등해요.
c.keys = std::move(key_cont);
c.values = std::move(mapped_cont);
다음 조건이 반드시 만족돼야 해요.
key_cont.size() == mapped_cont.size()가true,key_cont의 원소들이 비교 기준으로 정렬되어 있어야 해요. 그렇지 않으면 동작이 정의되지 않아요.
매개변수
key_cont:KeyContainer타입의 정렬된 키 컨테이너. 내용물이*this로 이동돼요.mapped_cont:MappedContainer타입의 매핑값 컨테이너. 내용물이*this로 이동돼요.
복잡도
적응 컨테이너에 std::move를 적용하는 복잡도와 같아요.
예제
#include <cassert>
#include <flat_map>
int main()
{
std::flat_multimap<int, double> map;
std::vector<int> keys{1, 2, 3};
std::vector<double> values{2.2, 3.3, 1.1};
map.replace(std::move(keys), std::move(values));
assert(map.size() == 3);
}
함께 보기
extract: 내부 컨테이너를 추출해요 (공개 멤버 함수)