5.0.0
Freundlich's C++ toolkit
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
fcppt::intrusive::iterator< Type > Class Template Reference

Detailed Description

template<typename Type>
class fcppt::intrusive::iterator< Type >

The iterator type of an intrusive list.

This is a bidirectional iterator.

Inheritance diagram for fcppt::intrusive::iterator< Type >:

Public Types

using iterator_base = fcppt::intrusive::detail::iterator_base<Type>
using reference = typename iterator_base::reference
using base_type = fcppt::intrusive::base<std::remove_const_t<Type>>
using pointer_type = std::conditional_t<std::is_const_v<Type>, base_type const, base_type> *

Public Member Functions

 iterator ()
 iterator (pointer_type)
void increment ()
void decrement ()
reference dereference () const
bool equal (iterator const &) const

Member Typedef Documentation

◆ base_type

template<typename Type>
using fcppt::intrusive::iterator< Type >::base_type = fcppt::intrusive::base<std::remove_const_t<Type>>

◆ iterator_base

template<typename Type>
using fcppt::intrusive::iterator< Type >::iterator_base = fcppt::intrusive::detail::iterator_base<Type>

◆ pointer_type

template<typename Type>
using fcppt::intrusive::iterator< Type >::pointer_type = std::conditional_t<std::is_const_v<Type>, base_type const, base_type> *

◆ reference

template<typename Type>
using fcppt::intrusive::iterator< Type >::reference = typename iterator_base::reference

Constructor & Destructor Documentation

◆ iterator() [1/2]

template<typename Type>
fcppt::intrusive::iterator< Type >::iterator ( )

◆ iterator() [2/2]

template<typename Type>
fcppt::intrusive::iterator< Type >::iterator ( pointer_type )
explicit

Member Function Documentation

◆ decrement()

template<typename Type>
void fcppt::intrusive::iterator< Type >::decrement ( )

◆ dereference()

template<typename Type>
reference fcppt::intrusive::iterator< Type >::dereference ( ) const
nodiscard

◆ equal()

template<typename Type>
bool fcppt::intrusive::iterator< Type >::equal ( iterator< Type > const & ) const
nodiscard

◆ increment()

template<typename Type>
void fcppt::intrusive::iterator< Type >::increment ( )