BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslalg::DequeIterator< VALUE_TYPE, 1 > Class Template Reference

#include <bslalg_dequeiterator.h>

Public Member Functions

 DequeIterator ()
 
 DequeIterator (BlockPtr *blockPtrPtr)
 
 DequeIterator (BlockPtr *blockPtrPtr, VALUE_TYPE *valuePtr)
 
void operator++ ()
 
void operator-- ()
 
void operator+= (std::ptrdiff_t offset)
 
void operator-= (std::ptrdiff_t offset)
 
void nextBlock ()
 
void previousBlock ()
 
void setBlock (BlockPtr *blockPtrPtr)
 
void valuePtrDecrement ()
 
void valuePtrIncrement ()
 
VALUE_TYPE & operator* () const
 
DequeIterator operator+ (std::ptrdiff_t offset) const
 
DequeIterator operator- (std::ptrdiff_t offset) const
 
std::ptrdiff_t operator- (const DequeIterator &rhs) const
 
VALUE_TYPE * blockBegin () const
 
VALUE_TYPE * blockEnd () const
 
BlockPtrblockPtr () const
 
std::size_t offsetInBlock () const
 
std::size_t remainingInBlock () const
 
VALUE_TYPE * valuePtr () const
 

Friends

bool operator== (const DequeIterator &lhs, const DequeIterator &rhs)
 
bool operator!= (const DequeIterator &lhs, const DequeIterator &rhs)
 
bool operator< (const DequeIterator &lhs, const DequeIterator &rhs)
 

Detailed Description

template<class VALUE_TYPE>
class bslalg::DequeIterator< VALUE_TYPE, 1 >

This partial specialization of DequeIterator for the case when there is a single element per block uses simpler storage and a simpler implementation. The contract for all functions is the same, and so not repeated.

Constructor & Destructor Documentation

◆ DequeIterator() [1/3]

template<class VALUE_TYPE >
bslalg::DequeIterator< VALUE_TYPE, 1 >::DequeIterator ( )
inline

◆ DequeIterator() [2/3]

template<class VALUE_TYPE >
bslalg::DequeIterator< VALUE_TYPE, 1 >::DequeIterator ( BlockPtr blockPtrPtr)
inline

◆ DequeIterator() [3/3]

template<class VALUE_TYPE >
bslalg::DequeIterator< VALUE_TYPE, 1 >::DequeIterator ( BlockPtr blockPtrPtr,
VALUE_TYPE *  valuePtr 
)
inline

Member Function Documentation

◆ blockBegin()

template<class VALUE_TYPE >
VALUE_TYPE * bslalg::DequeIterator< VALUE_TYPE, 1 >::blockBegin ( ) const
inline

◆ blockEnd()

template<class VALUE_TYPE >
VALUE_TYPE * bslalg::DequeIterator< VALUE_TYPE, 1 >::blockEnd ( ) const
inline

◆ blockPtr()

template<class VALUE_TYPE >
DequeImpUtil< VALUE_TYPE, 1 >::BlockPtr * bslalg::DequeIterator< VALUE_TYPE, 1 >::blockPtr ( ) const
inline

◆ nextBlock()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::nextBlock ( )
inline

◆ offsetInBlock()

template<class VALUE_TYPE >
std::size_t bslalg::DequeIterator< VALUE_TYPE, 1 >::offsetInBlock ( ) const
inline

◆ operator*()

template<class VALUE_TYPE >
VALUE_TYPE & bslalg::DequeIterator< VALUE_TYPE, 1 >::operator* ( ) const
inline

◆ operator+()

template<class VALUE_TYPE >
DequeIterator< VALUE_TYPE, 1 > bslalg::DequeIterator< VALUE_TYPE, 1 >::operator+ ( std::ptrdiff_t  offset) const
inline

◆ operator++()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::operator++ ( )
inline

◆ operator+=()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::operator+= ( std::ptrdiff_t  offset)
inline

◆ operator-() [1/2]

template<class VALUE_TYPE >
std::ptrdiff_t bslalg::DequeIterator< VALUE_TYPE, 1 >::operator- ( const DequeIterator< VALUE_TYPE, 1 > &  rhs) const

◆ operator-() [2/2]

template<class VALUE_TYPE >
DequeIterator< VALUE_TYPE, 1 > bslalg::DequeIterator< VALUE_TYPE, 1 >::operator- ( std::ptrdiff_t  offset) const
inline

◆ operator--()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::operator-- ( )
inline

◆ operator-=()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::operator-= ( std::ptrdiff_t  offset)
inline

◆ previousBlock()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::previousBlock ( )
inline

◆ remainingInBlock()

template<class VALUE_TYPE >
std::size_t bslalg::DequeIterator< VALUE_TYPE, 1 >::remainingInBlock ( ) const
inline

◆ setBlock()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::setBlock ( BlockPtr blockPtrPtr)
inline

◆ valuePtr()

template<class VALUE_TYPE >
VALUE_TYPE * bslalg::DequeIterator< VALUE_TYPE, 1 >::valuePtr ( ) const
inline

◆ valuePtrDecrement()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::valuePtrDecrement ( )
inline

◆ valuePtrIncrement()

template<class VALUE_TYPE >
void bslalg::DequeIterator< VALUE_TYPE, 1 >::valuePtrIncrement ( )
inline

Friends And Related Symbol Documentation

◆ operator!=

template<class VALUE_TYPE >
bool operator!= ( const DequeIterator< VALUE_TYPE, 1 > &  lhs,
const DequeIterator< VALUE_TYPE, 1 > &  rhs 
)
friend

◆ operator<

template<class VALUE_TYPE >
bool operator< ( const DequeIterator< VALUE_TYPE, 1 > &  lhs,
const DequeIterator< VALUE_TYPE, 1 > &  rhs 
)
friend

◆ operator==

template<class VALUE_TYPE >
bool operator== ( const DequeIterator< VALUE_TYPE, 1 > &  lhs,
const DequeIterator< VALUE_TYPE, 1 > &  rhs 
)
friend

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