(C++17) | ||||
| Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
| Associative | ||||
| Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
| Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Views | ||||
(C++20) | ||||
(C++23) | ||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
container_type extract()&&; | (since C++23) | |
Extracts adapted containerc. Equivalent toreturn std::move(c);.
After this operation*this is empty, even if an exception is thrown.
Contents |
std::move(c).
Constant.
#include <cassert>#include <flat_set>#include <print>#include <type_traits>#include <utility>#include <vector> int main(){std::flat_multiset<int> set{1,2,3};constauto size{set.size()}; auto c{std::move(set).extract()};assert(c.size()== size);assert(set.empty());assert(set.keys().empty());assert(set.values().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]
| replaces the underlying container (public member function)[edit] |