kblib 0.2.3
General utilities library for modern C++
kblib::build_iterator< Container, true > Class Template Reference

#include <kblib/containers.h>

Public Types

using value_type = void
 
using difference_type = void
 
using pointer = void
 
using reference = void
 
using iterator_category = std::output_iterator_tag
 

Public Member Functions

template<typename... Args>
 build_iterator (Args &&... args)
 
 build_iterator (const build_end_t &)
 
auto base () noexcept(std::is_nothrow_move_constructible< Container >::value) -> Container
 
 operator Container () noexcept(std::is_nothrow_move_constructible< Container >::value)
 
auto operator* () const noexcept -> decltype(auto)
 
auto operator-> () const noexcept -> auto *
 
auto operator++ () -> build_iterator &
 Advance to the next element. More...
 
auto operator++ (int) -> build_iterator &
 Advance to the next element. More...
 
constexpr auto size () const noexcept -> std::size_t
 

Friends

constexpr friend auto operator== (const build_iterator< Container > &it, build_end_t) noexcept -> bool
 
constexpr friend auto operator!= (const build_iterator< Container > &it, build_end_t) noexcept -> bool
 
constexpr friend auto operator== (build_end_t, const build_iterator< Container > &it) noexcept -> bool
 
constexpr friend auto operator!= (build_end_t, const build_iterator< Container > &it) noexcept -> bool
 
constexpr friend auto operator== (const build_iterator< Container > &it1, const build_iterator< Container > &it2) noexcept -> bool
 
constexpr friend auto operator!= (const build_iterator< Container > &it1, const build_iterator< Container > &it2) noexcept -> bool
 

Detailed Description

template<typename Container>
class kblib::build_iterator< Container, true >

Definition at line 230 of file containers.h.

Member Typedef Documentation

◆ difference_type

template<typename Container >
using kblib::build_iterator< Container, true >::difference_type = void

Definition at line 233 of file containers.h.

◆ iterator_category

template<typename Container >
using kblib::build_iterator< Container, true >::iterator_category = std::output_iterator_tag

Definition at line 236 of file containers.h.

◆ pointer

template<typename Container >
using kblib::build_iterator< Container, true >::pointer = void

Definition at line 234 of file containers.h.

◆ reference

template<typename Container >
using kblib::build_iterator< Container, true >::reference = void

Definition at line 235 of file containers.h.

◆ value_type

template<typename Container >
using kblib::build_iterator< Container, true >::value_type = void

Definition at line 232 of file containers.h.

Constructor & Destructor Documentation

◆ build_iterator() [1/2]

template<typename Container >
template<typename... Args>
kblib::build_iterator< Container, true >::build_iterator ( Args &&...  args)
inline

Definition at line 239 of file containers.h.

◆ build_iterator() [2/2]

template<typename Container >
kblib::build_iterator< Container, true >::build_iterator ( const build_end_t )
inline

Definition at line 242 of file containers.h.

Member Function Documentation

◆ base()

template<typename Container >
auto kblib::build_iterator< Container, true >::base ( ) -> Container
inlinenoexcept

Definition at line 246 of file containers.h.

◆ operator Container()

template<typename Container >
kblib::build_iterator< Container, true >::operator Container ( )
inlineexplicitnoexcept

Definition at line 252 of file containers.h.

◆ operator*()

template<typename Container >
auto kblib::build_iterator< Container, true >::operator* ( ) const -> decltype(auto)
inlinenoexcept

Definition at line 258 of file containers.h.

◆ operator++() [1/2]

template<typename Container >
auto kblib::build_iterator< Container, true >::operator++ ( ) -> build_iterator&
inline

Advance to the next element.

Definition at line 268 of file containers.h.

◆ operator++() [2/2]

template<typename Container >
auto kblib::build_iterator< Container, true >::operator++ ( int  ) -> build_iterator&
inline

Advance to the next element.

Definition at line 275 of file containers.h.

◆ operator->()

template<typename Container >
auto kblib::build_iterator< Container, true >::operator-> ( ) const -> auto*
inlinenoexcept

Definition at line 261 of file containers.h.

◆ size()

template<typename Container >
constexpr auto kblib::build_iterator< Container, true >::size ( ) const -> std::size_t
inlineconstexprnoexcept

Definition at line 281 of file containers.h.

Friends And Related Function Documentation

◆ operator!= [1/3]

template<typename Container >
constexpr friend auto operator!= ( build_end_t  ,
const build_iterator< Container > &  it 
) -> bool
friend

Definition at line 298 of file containers.h.

◆ operator!= [2/3]

template<typename Container >
constexpr friend auto operator!= ( const build_iterator< Container > &  it,
build_end_t   
) -> bool
friend

Definition at line 289 of file containers.h.

◆ operator!= [3/3]

template<typename Container >
constexpr friend auto operator!= ( const build_iterator< Container > &  it1,
const build_iterator< Container > &  it2 
) -> bool
friend

Definition at line 308 of file containers.h.

◆ operator== [1/3]

template<typename Container >
constexpr friend auto operator== ( build_end_t  ,
const build_iterator< Container > &  it 
) -> bool
friend

Definition at line 294 of file containers.h.

◆ operator== [2/3]

template<typename Container >
constexpr friend auto operator== ( const build_iterator< Container > &  it,
build_end_t   
) -> bool
friend

Definition at line 285 of file containers.h.

◆ operator== [3/3]

template<typename Container >
constexpr friend auto operator== ( const build_iterator< Container > &  it1,
const build_iterator< Container > &  it2 
) -> bool
friend

Definition at line 303 of file containers.h.


The documentation for this class was generated from the following file: