Namespaces
Variants

std::hive<T,Allocator>::get_iterator

De es.cppreference.net
 
 
 
 
iterator get_iterator( const_pointer p ) noexcept;
(1) (desde C++26)
const_iterator get_iterator( const_pointer p ) const noexcept;
(2) (desde C++26)
1) devuelve un iterator que apunta al mismo elemento que p.
2) devuelve un const_iterator que apunta al mismo elemento que p.

Si p no apunta a un elemento en *this, el comportamiento es indefinido.

Parámetros

p - un puntero al elemento

Valor de retorno

Un iterador que apunta al mismo elemento que p.

Complejidad

Lineal en el número de bloques activos en *this.

Ejemplo

#include <cassert>
#include <hive>
#include <iostream>

struct Bee { int id{}; };

int main()
{
    std::hive<Bee> bees;

    // populate the hive
    for (int id{}; id != 14; ++id)
        bees.emplace(++id);

    // get the address of the last element
    Bee* bee = &*--bees.end();
    std::cout << "bee->id = " << bee->id << '\n';

    // remove all elements with even id
    std::erase_if(bees, [](const Bee& bee) { return (bee.id % 2) == 0; });

    auto iter = bees.get_iterator(bee);
    assert(iter == --bees.end());
    std::cout << "iter->id = " << iter->id << '\n';
}

Salida:

bee->id = 13
iter->id = 13

Véase también

devuelve un iterador al inicio
(función miembro pública)
devuelve un iterador al final
(función miembro pública)
devuelve un iterador inverso al inicio
(función miembro pública)
devuelve un iterador inverso al final
(función miembro pública)