Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::async::Generator< T, Allocator >::Iterator Class Reference

#include <Generator.hpp>

+ Collaboration diagram for corium::async::Generator< T, Allocator >::Iterator:

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::input_iterator_tag
 
using pointer = const T *
 
using reference = const T &
 
using value_type = T
 

Public Member Functions

constexpr Iterator () noexcept=default
 
 Iterator (std::coroutine_handle< promise_type > handle) noexcept
 
bool operator!= (Sentinel s) const noexcept
 
reference operator* () const noexcept
 
Iteratoroperator++ ()
 
void operator++ (int)
 
pointer operator-> () const noexcept
 
bool operator== (Sentinel) const noexcept
 

Member Typedef Documentation

◆ difference_type

template<typename T , typename Allocator = HeapFrameAllocator>
using corium::async::Generator< T, Allocator >::Iterator::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename T , typename Allocator = HeapFrameAllocator>
using corium::async::Generator< T, Allocator >::Iterator::iterator_category = std::input_iterator_tag

◆ pointer

template<typename T , typename Allocator = HeapFrameAllocator>
using corium::async::Generator< T, Allocator >::Iterator::pointer = const T*

◆ reference

template<typename T , typename Allocator = HeapFrameAllocator>
using corium::async::Generator< T, Allocator >::Iterator::reference = const T&

◆ value_type

template<typename T , typename Allocator = HeapFrameAllocator>
using corium::async::Generator< T, Allocator >::Iterator::value_type = T

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<typename T , typename Allocator = HeapFrameAllocator>
constexpr corium::async::Generator< T, Allocator >::Iterator::Iterator ( )
constexprdefaultnoexcept

◆ Iterator() [2/2]

template<typename T , typename Allocator = HeapFrameAllocator>
corium::async::Generator< T, Allocator >::Iterator::Iterator ( std::coroutine_handle< promise_type handle)
inlineexplicitnoexcept

Member Function Documentation

◆ operator!=()

template<typename T , typename Allocator = HeapFrameAllocator>
bool corium::async::Generator< T, Allocator >::Iterator::operator!= ( Sentinel  s) const
inlinenoexcept

◆ operator*()

template<typename T , typename Allocator = HeapFrameAllocator>
reference corium::async::Generator< T, Allocator >::Iterator::operator* ( ) const
inlinenoexcept

◆ operator++() [1/2]

template<typename T , typename Allocator = HeapFrameAllocator>
Iterator & corium::async::Generator< T, Allocator >::Iterator::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T , typename Allocator = HeapFrameAllocator>
void corium::async::Generator< T, Allocator >::Iterator::operator++ ( int  )
inline

◆ operator->()

template<typename T , typename Allocator = HeapFrameAllocator>
pointer corium::async::Generator< T, Allocator >::Iterator::operator-> ( ) const
inlinenoexcept

◆ operator==()

template<typename T , typename Allocator = HeapFrameAllocator>
bool corium::async::Generator< T, Allocator >::Iterator::operator== ( Sentinel  ) const
inlinenoexcept

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