neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
plf::hive< element_type, allocator_type >::hive_iterator< is_const > Class Template Reference

#include <plf_hive.h>

Classes

struct  hive_iterator_tag
 

Public Types

typedef std::bidirectional_iterator_tag iterator_category
 
typedef std::bidirectional_iterator_tag iterator_concept
 
typedef hive::value_type value_type
 
typedef hive::difference_type difference_type
 
typedef hive_reverse_iterator< is_const > reverse_type
 
typedef std::conditional_t< is_const, typename hive::const_pointer, typename hive::pointerpointer
 
typedef std::conditional_t< is_const, typename hive::const_reference, typename hive::referencereference
 

Public Member Functions

 hive_iterator () noexcept
 
 hive_iterator (const hive_iterator &source) noexcept
 
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
 hive_iterator (const hive_iterator< false > &source) noexcept
 
 hive_iterator (hive_iterator &&source) noexcept
 
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
 hive_iterator (hive_iterator< false > &&source) noexcept
 
hive_iteratoroperator= (const hive_iterator &source) noexcept
 
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
hive_iteratoroperator= (const hive_iterator< false > &source) noexcept
 
hive_iteratoroperator= (hive_iterator &&source) noexcept
 
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
hive_iteratoroperator= (const hive_iterator< false > &&source) noexcept
 
bool operator== (const hive_iterator &rh) const noexcept
 
bool operator== (const hive_iterator<!is_const > &rh) const noexcept
 
bool operator!= (const hive_iterator &rh) const noexcept
 
bool operator!= (const hive_iterator<!is_const > &rh) const noexcept
 
reference operator* () const
 
pointer operator-> () const
 
hive_iteratoroperator++ ()
 
hive_iterator operator++ (int)
 
hive_iteratoroperator-- ()
 
hive_iterator operator-- (int)
 
template<bool is_const_it>
bool operator> (const hive_iterator< is_const_it > &rh) const noexcept
 
template<bool is_const_it>
bool operator< (const hive_iterator< is_const_it > &rh) const noexcept
 
template<bool is_const_it>
bool operator>= (const hive_iterator< is_const_it > &rh) const noexcept
 
template<bool is_const_it>
bool operator<= (const hive_iterator< is_const_it > &rh) const noexcept
 
template<bool is_const_it>
std::strong_ordering operator<=> (const hive_iterator< is_const_it > &rh) const noexcept
 

Public Attributes

friend reverse_iterator
 
friend const_reverse_iterator
 

Friends

class hive
 
template<hive_iterator_concept it_type, typename distance_type >
void std::advance (it_type &it, const distance_type distance)
 
template<hive_iterator_concept it_type>
it_type std::next (it_type it, const typename std::iterator_traits< it_type >::difference_type distance)
 
template<hive_iterator_concept it_type>
it_type std::prev (it_type it, const typename std::iterator_traits< it_type >::difference_type distance)
 
template<hive_iterator_concept it_type>
std::iterator_traits< it_type >::difference_type std::distance (const it_type first, const it_type last)
 

Detailed Description

template<class element_type, class allocator_type = std::allocator<element_type>>
template<bool is_const>
class plf::hive< element_type, allocator_type >::hive_iterator< is_const >

Definition at line 3604 of file plf_hive.h.

Member Typedef Documentation

◆ difference_type

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef hive::difference_type plf::hive< element_type, allocator_type >::hive_iterator< is_const >::difference_type

Definition at line 3620 of file plf_hive.h.

◆ iterator_category

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef std::bidirectional_iterator_tag plf::hive< element_type, allocator_type >::hive_iterator< is_const >::iterator_category

Definition at line 3617 of file plf_hive.h.

◆ iterator_concept

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef std::bidirectional_iterator_tag plf::hive< element_type, allocator_type >::hive_iterator< is_const >::iterator_concept

Definition at line 3618 of file plf_hive.h.

◆ pointer

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef std::conditional_t<is_const, typename hive::const_pointer, typename hive::pointer> plf::hive< element_type, allocator_type >::hive_iterator< is_const >::pointer

Definition at line 3622 of file plf_hive.h.

◆ reference

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef std::conditional_t<is_const, typename hive::const_reference, typename hive::reference> plf::hive< element_type, allocator_type >::hive_iterator< is_const >::reference

Definition at line 3623 of file plf_hive.h.

◆ reverse_type

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef hive_reverse_iterator<is_const> plf::hive< element_type, allocator_type >::hive_iterator< is_const >::reverse_type

Definition at line 3621 of file plf_hive.h.

◆ value_type

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
typedef hive::value_type plf::hive< element_type, allocator_type >::hive_iterator< is_const >::value_type

Definition at line 3619 of file plf_hive.h.

Constructor & Destructor Documentation

◆ hive_iterator() [1/5]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
plf::hive< element_type, allocator_type >::hive_iterator< is_const >::hive_iterator ( )
inlinenoexcept

Definition at line 3643 of file plf_hive.h.

◆ hive_iterator() [2/5]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
plf::hive< element_type, allocator_type >::hive_iterator< is_const >::hive_iterator ( const hive_iterator< is_const > &  source)
inlinenoexcept

Definition at line 3651 of file plf_hive.h.

◆ hive_iterator() [3/5]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
plf::hive< element_type, allocator_type >::hive_iterator< is_const >::hive_iterator ( const hive_iterator< false > &  source)
inlinenoexcept

Definition at line 3660 of file plf_hive.h.

◆ hive_iterator() [4/5]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
plf::hive< element_type, allocator_type >::hive_iterator< is_const >::hive_iterator ( hive_iterator< is_const > &&  source)
inlinenoexcept

Definition at line 3668 of file plf_hive.h.

◆ hive_iterator() [5/5]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
plf::hive< element_type, allocator_type >::hive_iterator< is_const >::hive_iterator ( hive_iterator< false > &&  source)
inlinenoexcept

Definition at line 3677 of file plf_hive.h.

Member Function Documentation

◆ operator!=() [1/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator!= ( const hive_iterator< is_const > &  rh) const
inlinenoexcept

Definition at line 3742 of file plf_hive.h.

◆ operator!=() [2/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator!= ( const hive_iterator<!is_const > &  rh) const
inlinenoexcept

Definition at line 3749 of file plf_hive.h.

◆ operator*()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
reference plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator* ( ) const
inline

Definition at line 3756 of file plf_hive.h.

◆ operator++() [1/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
hive_iterator & plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator++ ( )
inline

Definition at line 3770 of file plf_hive.h.

◆ operator++() [2/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
hive_iterator plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator++ ( int  )
inline

Definition at line 3791 of file plf_hive.h.

◆ operator--() [1/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
hive_iterator & plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator-- ( )
inline

Definition at line 3800 of file plf_hive.h.

◆ operator--() [2/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
hive_iterator plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator-- ( int  )
inline

Definition at line 3825 of file plf_hive.h.

◆ operator->()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
pointer plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator-> ( ) const
inline

Definition at line 3763 of file plf_hive.h.

◆ operator<()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator< ( const hive_iterator< is_const_it > &  rh) const
inlinenoexcept

Definition at line 3845 of file plf_hive.h.

◆ operator<=()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator<= ( const hive_iterator< is_const_it > &  rh) const
inlinenoexcept

Definition at line 3861 of file plf_hive.h.

◆ operator<=>()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it>
std::strong_ordering plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator<=> ( const hive_iterator< is_const_it > &  rh) const
inlinenoexcept

Definition at line 3869 of file plf_hive.h.

◆ operator=() [1/4]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
hive_iterator & plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator= ( const hive_iterator< is_const > &  source)
inlinenoexcept

Definition at line 3685 of file plf_hive.h.

◆ operator=() [2/4]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
hive_iterator & plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator= ( const hive_iterator< false > &&  source)
inlinenoexcept

Definition at line 3718 of file plf_hive.h.

◆ operator=() [3/4]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it = is_const, class = std::enable_if_t<is_const_it>>
hive_iterator & plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator= ( const hive_iterator< false > &  source)
inlinenoexcept

Definition at line 3696 of file plf_hive.h.

◆ operator=() [4/4]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
hive_iterator & plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator= ( hive_iterator< is_const > &&  source)
inlinenoexcept

Definition at line 3706 of file plf_hive.h.

◆ operator==() [1/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator== ( const hive_iterator< is_const > &  rh) const
inlinenoexcept

Definition at line 3728 of file plf_hive.h.

◆ operator==() [2/2]

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator== ( const hive_iterator<!is_const > &  rh) const
inlinenoexcept

Definition at line 3735 of file plf_hive.h.

◆ operator>()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator> ( const hive_iterator< is_const_it > &  rh) const
inlinenoexcept

Definition at line 3836 of file plf_hive.h.

◆ operator>=()

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<bool is_const_it>
bool plf::hive< element_type, allocator_type >::hive_iterator< is_const >::operator>= ( const hive_iterator< is_const_it > &  rh) const
inlinenoexcept

Definition at line 3853 of file plf_hive.h.

Friends And Related Symbol Documentation

◆ hive

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
friend class hive
friend

Definition at line 3625 of file plf_hive.h.

◆ std::advance

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<hive_iterator_concept it_type, typename distance_type >
void std::advance ( it_type &  it,
const distance_type  distance 
)
friend

◆ std::distance

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<hive_iterator_concept it_type>
std::iterator_traits< it_type >::difference_type std::distance ( const it_type  first,
const it_type  last 
)
friend

◆ std::next

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<hive_iterator_concept it_type>
it_type std::next ( it_type  it,
const typename std::iterator_traits< it_type >::difference_type  distance 
)
friend

◆ std::prev

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
template<hive_iterator_concept it_type>
it_type std::prev ( it_type  it,
const typename std::iterator_traits< it_type >::difference_type  distance 
)
friend

Member Data Documentation

◆ const_reverse_iterator

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
friend plf::hive< element_type, allocator_type >::hive_iterator< is_const >::const_reverse_iterator

Definition at line 3627 of file plf_hive.h.

◆ reverse_iterator

template<class element_type , class allocator_type = std::allocator<element_type>>
template<bool is_const>
friend plf::hive< element_type, allocator_type >::hive_iterator< is_const >::reverse_iterator

Definition at line 3626 of file plf_hive.h.


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