Itoyori  v0.0.1
ityr::global_iterator< T, Mode > Class Template Reference

Global iterator to enable/disable automatic checkout. More...

#include <global_iterator.hpp>

Inheritance diagram for ityr::global_iterator< T, Mode >:
Collaboration diagram for ityr::global_iterator< T, Mode >:

Public Types

using value_type = typename base_t::value_type
 
using difference_type = typename base_t::difference_type
 
using pointer = typename base_t::pointer
 
using reference = typename base_t::reference
 
using iterator_category = typename base_t::iterator_category
 
using mode = Mode
 
using checkout_iterator = internal::checkout_iterator_t< base_t, Mode >
 
- Public Types inherited from ityr::ori::global_ptr< T >
using element_type = T
 
using value_type = std::remove_cv_t< T >
 
using difference_type = std::ptrdiff_t
 
using pointer = T *
 
using reference = global_ref< T >
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

 global_iterator ()
 
 global_iterator (ori::global_ptr< T > gptr)
 
constexpr this_toperator+= (difference_type diff) noexcept
 
constexpr this_toperator-= (difference_type diff) noexcept
 
constexpr this_toperator++ () noexcept
 
constexpr this_toperator-- () noexcept
 
constexpr this_t operator++ (int) noexcept
 
constexpr this_t operator-- (int) noexcept
 
constexpr this_t operator+ (difference_type diff) const noexcept
 
constexpr this_t operator- (difference_type diff) const noexcept
 
auto checkout_nb (std::size_t count) const
 
- Public Member Functions inherited from ityr::ori::global_ptr< T >
constexpr global_ptr () noexcept
 
constexpr global_ptr (T *ptr) noexcept
 
constexpr global_ptr (const this_t &) noexcept=default
 
constexpr this_toperator= (const this_t &) noexcept=default
 
constexpr global_ptr (std::nullptr_t) noexcept
 
constexpr this_toperator= (std::nullptr_t) noexcept
 
constexpr pointer raw_ptr () const noexcept
 
constexpr operator bool () const noexcept
 
constexpr bool operator! () const noexcept
 
constexpr reference operator* () const
 
constexpr reference operator[] (difference_type diff) const
 
constexpr this_toperator+= (difference_type diff) noexcept
 
constexpr this_toperator-= (difference_type diff) noexcept
 
constexpr this_toperator++ () noexcept
 
constexpr this_toperator-- () noexcept
 
constexpr this_t operator++ (int) noexcept
 
constexpr this_t operator-- (int) noexcept
 
constexpr this_t operator+ (difference_type diff) const noexcept
 
constexpr this_t operator- (difference_type diff) const noexcept
 
constexpr void swap (this_t &p) noexcept
 
constexpr operator global_ptr< const value_type > () const noexcept
 

Detailed Description

template<typename T, typename Mode>
class ityr::global_iterator< T, Mode >

Global iterator to enable/disable automatic checkout.

See also
ityr::make_global_iterator()

Member Typedef Documentation

◆ checkout_iterator

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::checkout_iterator = internal::checkout_iterator_t<base_t, Mode>

◆ difference_type

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::difference_type = typename base_t::difference_type

◆ iterator_category

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::iterator_category = typename base_t::iterator_category

◆ mode

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::mode = Mode

◆ pointer

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::pointer = typename base_t::pointer

◆ reference

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::reference = typename base_t::reference

◆ value_type

template<typename T , typename Mode >
using ityr::global_iterator< T, Mode >::value_type = typename base_t::value_type

Constructor & Destructor Documentation

◆ global_iterator() [1/2]

template<typename T , typename Mode >
ityr::global_iterator< T, Mode >::global_iterator ( )
inline

◆ global_iterator() [2/2]

template<typename T , typename Mode >
ityr::global_iterator< T, Mode >::global_iterator ( ori::global_ptr< T >  gptr)
inline

Member Function Documentation

◆ checkout_nb()

template<typename T , typename Mode >
auto ityr::global_iterator< T, Mode >::checkout_nb ( std::size_t  count) const
inline

◆ operator+()

template<typename T , typename Mode >
constexpr this_t ityr::global_iterator< T, Mode >::operator+ ( difference_type  diff) const
inlineconstexprnoexcept

◆ operator++() [1/2]

template<typename T , typename Mode >
constexpr this_t& ityr::global_iterator< T, Mode >::operator++ ( )
inlineconstexprnoexcept

◆ operator++() [2/2]

template<typename T , typename Mode >
constexpr this_t ityr::global_iterator< T, Mode >::operator++ ( int  )
inlineconstexprnoexcept

◆ operator+=()

template<typename T , typename Mode >
constexpr this_t& ityr::global_iterator< T, Mode >::operator+= ( difference_type  diff)
inlineconstexprnoexcept

◆ operator-()

template<typename T , typename Mode >
constexpr this_t ityr::global_iterator< T, Mode >::operator- ( difference_type  diff) const
inlineconstexprnoexcept

◆ operator--() [1/2]

template<typename T , typename Mode >
constexpr this_t& ityr::global_iterator< T, Mode >::operator-- ( )
inlineconstexprnoexcept

◆ operator--() [2/2]

template<typename T , typename Mode >
constexpr this_t ityr::global_iterator< T, Mode >::operator-- ( int  )
inlineconstexprnoexcept

◆ operator-=()

template<typename T , typename Mode >
constexpr this_t& ityr::global_iterator< T, Mode >::operator-= ( difference_type  diff)
inlineconstexprnoexcept

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