Espacios de nombres
Variantes

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

De cppreference.com

[edit template]
 
 
 
 
<tbody> </tbody>
container_type extract() &&;
(desde C++23)

Extrae el contenedor adaptado c. Equivale a return std::move(c);.

Después de esta operación, *this queda vacío, incluso si se lanza una excepción.

Parámetros

(Ninguno)

Valor de retorno

std::move(c).

Complejidad

Constante.

Ejemplo

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

int main()
{
    std::flat_map<int> set{1, 2, 3};
    const auto size = set.size();

    auto c = set.extract();
    assert(c.size() == size);
    assert(set.empty());
    assert(set.keys().empty());
    assert(set.values().empty());

    // El contenedor por defecto de las claves es std::vector:
    static_assert(std::is_same_v<decltype(c), std::vector<int>>);

    std::println("{}", c);
}

Salida:

[1, 2, 3]

Véase también

Reemplaza los contenedores subyacentes.
(función miembro pública) [editar]