std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::extract

来自cppreference.com
 
 
 
 
containers extract()&&;
(C++23 起)

提取所适配的各容器 c。等价于 return std::move(c);

此操作后 *this 为空,即使抛出了异常也是如此。

目录

[编辑]返回值

std::move(c)

[编辑]复杂度

常数。

[编辑]示例

#include <cassert>#include <flat_map>#include <print>#include <type_traits>#include <utility>#include <vector>   int main(){std::flat_multimap<int, double> map{{1, 1.1}, {2, 2.2}, {3, 3.3}};constauto size{map.size()};   auto c{std::move(map).extract()};assert(c.keys.size()== size);assert(c.values.size()== size);assert(map.empty());assert(map.keys().empty());assert(map.values().empty());   // 默认的键和值容器都是 std::vector: static_assert(std::is_same_v<decltype(c.keys), std::vector<int>>); static_assert(std::is_same_v<decltype(c.values), std::vector<double>>);   std::println("键:{}", c.keys);std::println("值:{}", c.values);}

输出:

键:[1, 2, 3] 值:[1.1, 2.2, 3.3]

[编辑]参阅

替换底层各容器
(公开成员函数)[编辑]
close