Fleet  0.0.9
Inference in the LOT
Public Types | Public Member Functions | Friends | List of all members
cppcoro::detail::generator_iterator< T > Class Template Reference

#include <generator.hpp>

Public Types

using iterator_category = std::input_iterator_tag
 
using difference_type = std::ptrdiff_t
 
using value_type = typename generator_promise< T >::value_type
 
using reference = typename generator_promise< T >::reference_type
 
using pointer = typename generator_promise< T >::pointer_type
 

Public Member Functions

 generator_iterator () noexcept
 
 generator_iterator (coroutine_handle coroutine) noexcept
 
generator_iteratoroperator++ ()
 
void operator++ (int)
 
reference operator* () const noexcept
 
pointer operator-> () const noexcept
 

Friends

bool operator== (const generator_iterator &it, generator_sentinel) noexcept
 
bool operator!= (const generator_iterator &it, generator_sentinel s) noexcept
 
bool operator== (generator_sentinel s, const generator_iterator &it) noexcept
 
bool operator!= (generator_sentinel s, const generator_iterator &it) noexcept
 

Member Typedef Documentation

◆ difference_type

template<typename T >
using cppcoro::detail::generator_iterator< T >::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename T >
using cppcoro::detail::generator_iterator< T >::iterator_category = std::input_iterator_tag

◆ pointer

template<typename T >
using cppcoro::detail::generator_iterator< T >::pointer = typename generator_promise<T>::pointer_type

◆ reference

template<typename T >
using cppcoro::detail::generator_iterator< T >::reference = typename generator_promise<T>::reference_type

◆ value_type

template<typename T >
using cppcoro::detail::generator_iterator< T >::value_type = typename generator_promise<T>::value_type

Constructor & Destructor Documentation

◆ generator_iterator() [1/2]

template<typename T >
cppcoro::detail::generator_iterator< T >::generator_iterator ( )
inlinenoexcept

◆ generator_iterator() [2/2]

template<typename T >
cppcoro::detail::generator_iterator< T >::generator_iterator ( coroutine_handle  coroutine)
inlineexplicitnoexcept

Member Function Documentation

◆ operator*()

template<typename T >
reference cppcoro::detail::generator_iterator< T >::operator* ( ) const
inlinenoexcept

◆ operator++() [1/2]

template<typename T >
generator_iterator& cppcoro::detail::generator_iterator< T >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T >
void cppcoro::detail::generator_iterator< T >::operator++ ( int  )
inline

◆ operator->()

template<typename T >
pointer cppcoro::detail::generator_iterator< T >::operator-> ( ) const
inlinenoexcept

Friends And Related Function Documentation

◆ operator!= [1/2]

template<typename T >
bool operator!= ( const generator_iterator< T > &  it,
generator_sentinel  s 
)
friend

◆ operator!= [2/2]

template<typename T >
bool operator!= ( generator_sentinel  s,
const generator_iterator< T > &  it 
)
friend

◆ operator== [1/2]

template<typename T >
bool operator== ( const generator_iterator< T > &  it,
generator_sentinel   
)
friend

◆ operator== [2/2]

template<typename T >
bool operator== ( generator_sentinel  s,
const generator_iterator< T > &  it 
)
friend

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