neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference > Class Template Referenceabstract

#include <i_iterator.hpp>

Inheritance diagram for neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >:
neolib::i_iterator< T, Category, Difference, Pointer, Reference > neolib::i_reference_counted

Public Types

typedef self_type abstract_type
 
typedef self_type abstract_iterator
 
typedef i_random_access_const_iterator< T, Category, Difference, const T *, const T & > abstract_const_iterator
 
typedef abstract_iterator abstract_random_access_iterator
 
typedef abstract_const_iterator abstract_random_access_const_iterator
 
typedef random_access_iterator< T, Category, Difference, Pointer, Reference > iterator_wrapper
 
typedef T value_type
 
typedef Difference difference_type
 
typedef Pointer pointer
 
typedef Reference reference
 
typedef Category iterator_category
 
- Public Types inherited from neolib::i_iterator< T, Category, Difference, Pointer, Reference >
typedef self_type abstract_type
 
typedef T value_type
 
typedef Difference difference_type
 
typedef Pointer pointer
 
typedef Reference reference
 
typedef Category iterator_category
 
typedef self_type abstract_iterator
 
typedef i_const_iterator< T, Category, Difference, const T *, const T & > abstract_const_iterator
 
typedef abstract_iterator abstract_base_iterator
 
typedef abstract_const_iterator abstract_base_const_iterator
 
typedef iterator< T, Category, Difference, Pointer, Reference > iterator_wrapper
 

Public Member Functions

virtual self_type & operator+= (difference_type aDifference)=0
 
virtual self_type & operator-= (difference_type aDifference)=0
 
iterator_wrapper operator+ (difference_type aDifference) const
 
iterator_wrapper operator- (difference_type aDifference) const
 
virtual reference operator[] (difference_type aDifference) const =0
 
virtual difference_type operator- (const self_type &aOther) const =0
 
virtual bool operator< (const self_type &aOther) const =0
 
virtual bool operator<= (const self_type &aOther) const =0
 
virtual bool operator> (const self_type &aOther) const =0
 
virtual bool operator>= (const self_type &aOther) const =0
 
- Public Member Functions inherited from neolib::i_iterator< T, Category, Difference, Pointer, Reference >
virtual self_type & operator++ ()=0
 
virtual self_type & operator-- ()=0
 
iterator_wrapper operator++ (int)
 
iterator_wrapper operator-- (int)
 
virtual reference operator* () const =0
 
virtual pointer operator-> () const =0
 
virtual bool operator== (const self_type &aOther) const =0
 
virtual bool operator!= (const self_type &aOther) const =0
 
virtual self_type * clone (void *memory) const =0
 
virtual abstract_const_iteratorconst_clone (void *memory) const =0
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Detailed Description

template<typename T, typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
class neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >

Definition at line 362 of file i_iterator.hpp.

Member Typedef Documentation

◆ abstract_const_iterator

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef i_random_access_const_iterator<T, Category, Difference, const T*, const T&> neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::abstract_const_iterator

Definition at line 376 of file i_iterator.hpp.

◆ abstract_iterator

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef self_type neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::abstract_iterator

Definition at line 375 of file i_iterator.hpp.

◆ abstract_random_access_const_iterator

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef abstract_const_iterator neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::abstract_random_access_const_iterator

Definition at line 378 of file i_iterator.hpp.

◆ abstract_random_access_iterator

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef abstract_iterator neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::abstract_random_access_iterator

Definition at line 377 of file i_iterator.hpp.

◆ abstract_type

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef self_type neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::abstract_type

Definition at line 367 of file i_iterator.hpp.

◆ difference_type

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef Difference neolib::i_iterator< T, Category, Difference, Pointer, Reference >::difference_type

Definition at line 331 of file i_iterator.hpp.

◆ iterator_category

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef Category neolib::i_iterator< T, Category, Difference, Pointer, Reference >::iterator_category

Definition at line 334 of file i_iterator.hpp.

◆ iterator_wrapper

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef random_access_iterator<T, Category, Difference, Pointer, Reference> neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::iterator_wrapper

Definition at line 379 of file i_iterator.hpp.

◆ pointer

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef Pointer neolib::i_iterator< T, Category, Difference, Pointer, Reference >::pointer

Definition at line 332 of file i_iterator.hpp.

◆ reference

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef Reference neolib::i_iterator< T, Category, Difference, Pointer, Reference >::reference

Definition at line 333 of file i_iterator.hpp.

◆ value_type

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
typedef T neolib::i_iterator< T, Category, Difference, Pointer, Reference >::value_type

Definition at line 330 of file i_iterator.hpp.

Member Function Documentation

◆ operator+()

template<typename T , typename Category , typename Difference , typename Pointer , typename Reference >
random_access_iterator< T, Category, Difference, Pointer, Reference > neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator+ ( difference_type  aDifference) const
inline

Definition at line 544 of file i_iterator.hpp.

◆ operator+=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual self_type & neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator+= ( difference_type  aDifference)
pure virtual

◆ operator-() [1/2]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual difference_type neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator- ( const self_type &  aOther) const
pure virtual

◆ operator-() [2/2]

template<typename T , typename Category , typename Difference , typename Pointer , typename Reference >
random_access_iterator< T, Category, Difference, Pointer, Reference > neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator- ( difference_type  aDifference) const
inline

Definition at line 551 of file i_iterator.hpp.

◆ operator-=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual self_type & neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator-= ( difference_type  aDifference)
pure virtual

◆ operator<()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual bool neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator< ( const self_type &  aOther) const
pure virtual

◆ operator<=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual bool neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator<= ( const self_type &  aOther) const
pure virtual

◆ operator>()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual bool neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator> ( const self_type &  aOther) const
pure virtual

◆ operator>=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual bool neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator>= ( const self_type &  aOther) const
pure virtual

◆ operator[]()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = T*, typename Reference = T&>
virtual reference neolib::i_random_access_iterator< T, Category, Difference, Pointer, Reference >::operator[] ( difference_type  aDifference) const
pure virtual

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