piped::generator_from_iterator

<piped/generator.hpp>

template<typename B_Iter undefined, typename E_Iter undefined>
struct piped::generator_from_iterator;

Produce values given C++-style begin/end iterators.

Note this should not be used for iterators whose value is invalidated after incrementing. This generally includes any "stashing" iterator, such as std::regex_iterator or, apparently, std::filesystem::path::iterator. These iterators are fundamentally broken and you should simply write a generator for the underlying type.

Name Description
next()
empty() const
generator_from_iterator()=default
generator_from_iterator(child_iterator begin, child_end_iterator end)
generator_from_iterator(const generator_from_iterator &)=default
generator_from_iterator(generator_from_iterator &&) noexcept(std::is_nothrow_move_assignable< B_Iter >::value &&std::is_nothrow_move_assignable< E_Iter >::value)=default
operator=(const generator_from_iterator &)=default
operator=(generator_from_iterator &&)=default

Members

next()

<piped/generator.hpp>

extra::ptr<value_type> piped::generator_from_iterator< B_Iter, E_Iter >::next()

Description

empty() const

<piped/generator.hpp>

bool piped::generator_from_iterator< B_Iter, E_Iter >::empty() const

Description

generator_from_iterator()=default

<piped/generator.hpp>

piped::generator_from_iterator< B_Iter, E_Iter >::generator_from_iterator()=default

Description

generator_from_iterator(child_iterator begin, child_end_iterator end)

<piped/generator.hpp>

piped::generator_from_iterator< B_Iter, E_Iter >::generator_from_iterator(child_iterator begin, child_end_iterator end)

Description

Parameter
begin [object Object]
end [object Object]

generator_from_iterator(const generator_from_iterator &)=default

<piped/generator.hpp>

piped::generator_from_iterator< B_Iter, E_Iter >::generator_from_iterator(const generator_from_iterator &)=default

Description

Parameter
`` [object Object]

generator_from_iterator(generator_from_iterator &&) noexcept(std::is_nothrow_move_assignable< B_Iter >::value &&std::is_nothrow_move_assignable< E_Iter >::value)=default

<piped/generator.hpp>

piped::generator_from_iterator< B_Iter, E_Iter >::generator_from_iterator(generator_from_iterator &&) noexcept(std::is_nothrow_move_assignable< B_Iter >::value &&std::is_nothrow_move_assignable< E_Iter >::value)=default

Description

Parameter
`` [object Object]

operator=(const generator_from_iterator &)=default

<piped/generator.hpp>

generator_from_iterator& piped::generator_from_iterator< B_Iter, E_Iter >::operator=(const generator_from_iterator &)=default

Description

Parameter
`` [object Object]

operator=(generator_from_iterator &&)=default

<piped/generator.hpp>

generator_from_iterator& piped::generator_from_iterator< B_Iter, E_Iter >::operator=(generator_from_iterator &&)=default

Description

Parameter
`` [object Object]