Scroll to navigation

std::flat_set::replace(3) C++ Standard Libary std::flat_set::replace(3)

NAME

std::flat_set::replace - std::flat_set::replace

Synopsis


void replace( container_type&& cont ); (since C++23)


Replaces the underlying container c. Equivalent to: c = std::move(cont);.


The elements of cont must be sorted with respect to compare, and cont must not
contain equal elements. Otherwise, the behavior is undefined.

Parameters


cont - a sorted container of type KeyContainer, the contents of which will be moved
into *this

Return value


(none)

Complexity


Equals to complexity of std::move applied to adapted container.

Example

// Run this code


#include <algorithm>
#include <cassert>
#include <flat_set>
#include <print>
#include <vector>


int main()
{
std::vector<int> keys{1, 2, 3};
assert(std::ranges::is_sorted(keys));


std::flat_set<int> set;
assert(set.empty());


set.replace(keys);
assert(set.size() == 3);
assert(keys.empty());


std::println("{}", set); // set.keys()
}

Output:


[1, 2, 3]

See also


extract extracts the underlying container
(public member function)

2024.06.10 http://cppreference.com