joque
task orchestration library
joque::bits::list_iterator< ListHeader > Class Template Reference

#include <list.hpp>

Public Types

using header_type = ListHeader
 
using difference_type = std::ptrdiff_t
 
using value_type = std::conditional_t< is_const, const typename header_type::node_type, typename header_type::node_type >
 
using accessor_type = typename header_type::accessor_type
 

Public Member Functions

 list_iterator ()=default
 
 list_iterator (value_type *node)
 
value_typeoperator* ()
 
value_typeoperator* () const
 
value_typeoperator-> ()
 
value_typeoperator-> () const
 
list_iteratoroperator++ ()
 
list_iteratoroperator-- ()
 
list_iterator operator++ (int)
 
list_iterator operator-- (int)
 
auto operator<=> (const list_iterator &) const =default
 

Static Public Attributes

static constexpr bool is_const = std::is_const_v< ListHeader >
 

Member Typedef Documentation

◆ header_type

template<typename ListHeader >
using joque::bits::list_iterator< ListHeader >::header_type = ListHeader

◆ difference_type

template<typename ListHeader >
using joque::bits::list_iterator< ListHeader >::difference_type = std::ptrdiff_t

◆ value_type

template<typename ListHeader >
using joque::bits::list_iterator< ListHeader >::value_type = std::conditional_t< is_const, const typename header_type::node_type, typename header_type::node_type >

◆ accessor_type

template<typename ListHeader >
using joque::bits::list_iterator< ListHeader >::accessor_type = typename header_type::accessor_type

Constructor & Destructor Documentation

◆ list_iterator() [1/2]

template<typename ListHeader >
joque::bits::list_iterator< ListHeader >::list_iterator ( )
default

◆ list_iterator() [2/2]

template<typename ListHeader >
joque::bits::list_iterator< ListHeader >::list_iterator ( value_type node)

Member Function Documentation

◆ operator*() [1/2]

template<typename ListHeader >
list_iterator< ListHeader >::value_type & joque::bits::list_iterator< ListHeader >::operator*

◆ operator*() [2/2]

template<typename ListHeader >
list_iterator< ListHeader >::value_type & joque::bits::list_iterator< ListHeader >::operator*

◆ operator->() [1/2]

template<typename ListHeader >
list_iterator< ListHeader >::value_type * joque::bits::list_iterator< ListHeader >::operator->

◆ operator->() [2/2]

template<typename ListHeader >
list_iterator< ListHeader >::value_type * joque::bits::list_iterator< ListHeader >::operator->

◆ operator++() [1/2]

◆ operator--() [1/2]

◆ operator++() [2/2]

template<typename ListHeader >
list_iterator< ListHeader > joque::bits::list_iterator< ListHeader >::operator++ ( int  )

◆ operator--() [2/2]

template<typename ListHeader >
list_iterator< ListHeader > joque::bits::list_iterator< ListHeader >::operator-- ( int  )

◆ operator<=>()

template<typename ListHeader >
auto joque::bits::list_iterator< ListHeader >::operator<=> ( const list_iterator< ListHeader > &  ) const
default

Member Data Documentation

◆ is_const

template<typename ListHeader >
constexpr bool joque::bits::list_iterator< ListHeader >::is_const = std::is_const_v< ListHeader >
staticconstexpr

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