CppCommon  1.0.4.1
C++ Common Library
Public Types | Public Member Functions | Friends | List of all members
CppCommon::BinTreeReverseIterator< TContainer, T > Class Template Reference

Intrusive binary tree reverse iterator. More...

#include <bintree.h>

Public Types

typedef T value_type
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef ptrdiff_t difference_type
 
typedef size_t size_type
 
typedef std::bidirectional_iterator_tag iterator_category
 

Public Member Functions

 BinTreeReverseIterator () noexcept
 
 BinTreeReverseIterator (TContainer *container, T *node) noexcept
 
 BinTreeReverseIterator (const BinTreeReverseIterator &it) noexcept=default
 
 BinTreeReverseIterator (BinTreeReverseIterator &&it) noexcept=default
 
 ~BinTreeReverseIterator () noexcept=default
 
BinTreeReverseIteratoroperator= (const BinTreeReverseIterator &it) noexcept=default
 
BinTreeReverseIteratoroperator= (BinTreeReverseIterator &&it) noexcept=default
 
BinTreeReverseIteratoroperator++ () noexcept
 
BinTreeReverseIterator operator++ (int) noexcept
 
reference operator* () noexcept
 
pointer operator-> () noexcept
 
 operator bool () const noexcept
 Check if the iterator is valid. More...
 
bool compare (const T &item1, const T &item2) const noexcept
 Compare two items: if the first item is less than the second one? More...
 
void swap (BinTreeReverseIterator &it) noexcept
 Swap two instances. More...
 

Friends

bool operator== (const BinTreeReverseIterator &it1, const BinTreeReverseIterator &it2) noexcept
 
bool operator!= (const BinTreeReverseIterator &it1, const BinTreeReverseIterator &it2) noexcept
 
template<class UContainer , typename U >
void swap (BinTreeReverseIterator< UContainer, U > &it1, BinTreeReverseIterator< UContainer, U > &it2) noexcept
 

Detailed Description

template<class TContainer, typename T>
class CppCommon::BinTreeReverseIterator< TContainer, T >

Intrusive binary tree reverse iterator.

Not thread-safe.

Definition at line 391 of file bintree.h.

Member Typedef Documentation

◆ const_pointer

template<class TContainer , typename T >
typedef const value_type* CppCommon::BinTreeReverseIterator< TContainer, T >::const_pointer

Definition at line 401 of file bintree.h.

◆ const_reference

template<class TContainer , typename T >
typedef const value_type& CppCommon::BinTreeReverseIterator< TContainer, T >::const_reference

Definition at line 399 of file bintree.h.

◆ difference_type

template<class TContainer , typename T >
typedef ptrdiff_t CppCommon::BinTreeReverseIterator< TContainer, T >::difference_type

Definition at line 402 of file bintree.h.

◆ iterator_category

template<class TContainer , typename T >
typedef std::bidirectional_iterator_tag CppCommon::BinTreeReverseIterator< TContainer, T >::iterator_category

Definition at line 404 of file bintree.h.

◆ pointer

template<class TContainer , typename T >
typedef value_type* CppCommon::BinTreeReverseIterator< TContainer, T >::pointer

Definition at line 400 of file bintree.h.

◆ reference

template<class TContainer , typename T >
typedef value_type& CppCommon::BinTreeReverseIterator< TContainer, T >::reference

Definition at line 398 of file bintree.h.

◆ size_type

template<class TContainer , typename T >
typedef size_t CppCommon::BinTreeReverseIterator< TContainer, T >::size_type

Definition at line 403 of file bintree.h.

◆ value_type

template<class TContainer , typename T >
typedef T CppCommon::BinTreeReverseIterator< TContainer, T >::value_type

Definition at line 397 of file bintree.h.

Constructor & Destructor Documentation

◆ BinTreeReverseIterator() [1/4]

template<class TContainer , typename T >
CppCommon::BinTreeReverseIterator< TContainer, T >::BinTreeReverseIterator ( )
inlinenoexcept

Definition at line 406 of file bintree.h.

◆ BinTreeReverseIterator() [2/4]

template<class TContainer , typename T >
CppCommon::BinTreeReverseIterator< TContainer, T >::BinTreeReverseIterator ( TContainer *  container,
T *  node 
)
inlineexplicitnoexcept

Definition at line 407 of file bintree.h.

◆ BinTreeReverseIterator() [3/4]

template<class TContainer , typename T >
CppCommon::BinTreeReverseIterator< TContainer, T >::BinTreeReverseIterator ( const BinTreeReverseIterator< TContainer, T > &  it)
defaultnoexcept

◆ BinTreeReverseIterator() [4/4]

template<class TContainer , typename T >
CppCommon::BinTreeReverseIterator< TContainer, T >::BinTreeReverseIterator ( BinTreeReverseIterator< TContainer, T > &&  it)
defaultnoexcept

◆ ~BinTreeReverseIterator()

template<class TContainer , typename T >
CppCommon::BinTreeReverseIterator< TContainer, T >::~BinTreeReverseIterator ( )
defaultnoexcept

Member Function Documentation

◆ compare()

template<class TContainer , typename T >
bool CppCommon::BinTreeReverseIterator< TContainer, T >::compare ( const T &  item1,
const T &  item2 
) const
inlinenoexcept

Compare two items: if the first item is less than the second one?

Definition at line 430 of file bintree.h.

◆ operator bool()

template<class TContainer , typename T >
CppCommon::BinTreeReverseIterator< TContainer, T >::operator bool ( ) const
inlineexplicitnoexcept

Check if the iterator is valid.

Definition at line 427 of file bintree.h.

◆ operator*()

template<class TContainer , typename T >
BinTreeReverseIterator< TContainer, T >::reference CppCommon::BinTreeReverseIterator< TContainer, T >::operator*
noexcept

Definition at line 564 of file bintree.inl.

◆ operator++() [1/2]

template<class TContainer , typename T >
BinTreeReverseIterator< TContainer, T > & CppCommon::BinTreeReverseIterator< TContainer, T >::operator++
noexcept

Definition at line 535 of file bintree.inl.

◆ operator++() [2/2]

template<class TContainer , typename T >
BinTreeReverseIterator< TContainer, T > CppCommon::BinTreeReverseIterator< TContainer, T >::operator++ ( int  )
inlinenoexcept

Definition at line 556 of file bintree.inl.

◆ operator->()

template<class TContainer , typename T >
BinTreeReverseIterator< TContainer, T >::pointer CppCommon::BinTreeReverseIterator< TContainer, T >::operator->
noexcept

Definition at line 572 of file bintree.inl.

◆ operator=() [1/2]

template<class TContainer , typename T >
BinTreeReverseIterator& CppCommon::BinTreeReverseIterator< TContainer, T >::operator= ( BinTreeReverseIterator< TContainer, T > &&  it)
defaultnoexcept

◆ operator=() [2/2]

template<class TContainer , typename T >
BinTreeReverseIterator& CppCommon::BinTreeReverseIterator< TContainer, T >::operator= ( const BinTreeReverseIterator< TContainer, T > &  it)
defaultnoexcept

◆ swap()

template<class TContainer , typename T >
void CppCommon::BinTreeReverseIterator< TContainer, T >::swap ( BinTreeReverseIterator< TContainer, T > &  it)
noexcept

Swap two instances.

Definition at line 578 of file bintree.inl.

Friends And Related Function Documentation

◆ operator!=

template<class TContainer , typename T >
bool operator!= ( const BinTreeReverseIterator< TContainer, T > &  it1,
const BinTreeReverseIterator< TContainer, T > &  it2 
)
friend

Definition at line 417 of file bintree.h.

◆ operator==

template<class TContainer , typename T >
bool operator== ( const BinTreeReverseIterator< TContainer, T > &  it1,
const BinTreeReverseIterator< TContainer, T > &  it2 
)
friend

Definition at line 415 of file bintree.h.

◆ swap

template<class TContainer , typename T >
template<class UContainer , typename U >
void swap ( BinTreeReverseIterator< UContainer, U > &  it1,
BinTreeReverseIterator< UContainer, U > &  it2 
)
friend

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