From cppreference.com
container_typeextract()&&;(since C++23)Extracts adapted container
. Equivalent to returnstd::move(c);.
After this operation *this is empty, even if an exception is thrown.
Return value
std::move(c).
Complexity
Constant.
Example
Run this code
#include<cassert>#include<flat_set>#include<print>#include<type_traits>#include<utility>#include<vector>intmain(){std::flat_multiset<int>set{1,2,3};constautosize{set.size()};autoc{std::move(set).extract()};assert(c.size()==size);assert(set.empty());// The default keys container is std::vector:static_assert(std::is_same_v<decltype(c),std::vector<int>>);std::println("{}",c);}Output:
[1, 2, 3] See also
replaces the underlying container
(public member function)