Namespaces
Variants

std::ranges::join_view<V>::iterator<Const>::iterator

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
/*iterator*/() requires std::default_initializable<OuterIter> &&
                        std::default_initializable<InnerIter> = default;
(1) (desde C++20)
constexpr /*iterator*/( Parent& parent, OuterIter outer );
(2) (desde C++20)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
             std::convertible_to<ranges::iterator_t<V>, OuterIter> &&
             std::convertible_to<ranges::iterator_t<InnerRng>, InnerIter>;
(3) (desde C++20)

Construye un iterador.

1) Constructor por defecto. Inicializa por valor los iteradores subyacentes, e inicializa el puntero al ranges::join_view padre con nullptr.
2) Inicializa el outer_ iterador subyacente con std::move(outer), y el puntero al padre parent_ con std::addressof(parent); luego llama a satisfy().
3) Convierte /*iterator*/<false> a /*iterator*/<true>. Construye por movimiento los iteradores subyacentes outer_ con std::move(i.outer_), inner_ con std::move(i.inner_), y el puntero subyacente al padre parent_ con i.parent_.

Parámetros

padre - un (posiblemente calificado con const) ranges::join_view
externo - un iterador hacia (posiblemente calificado con const) ranges:: iterator_t < Base >
i - un /*iterator*/ < false >

Ejemplo