BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > Class Template Reference

#include <bslstl_vector.h>

Detailed Description

template<class VALUE_TYPE, class ITERATOR>
class bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >

This class provides a minimal proxy iterator adapter, transforming pointers to uintptr_t values on the fly, for only the operations needed to implement the member functions and constructors of the vector partial template specialization that take iterator ranges as arguments. While it does not provide a standard conforming iterator itself, if provides exactly sufficient behavior to implement all the needed members. VALUE_TYPE shall be a pointer type, and ITERATOR shall be a standard conforming iterator that dereferences to a type implicitly convertible to VALUE_TYPE

See bslstl_vector

Public Types

typedef BloombergLP::bsls::Types::UintPtr UintPtr
 
typedef UintPtr value_type
 
typedef UintPtrpointer
 
typedef UintPtr reference
 
typedef iterator_traits< ITERATOR >::difference_type difference_type
 
typedef iterator_traits< ITERATOR >::iterator_category iterator_category
 

Public Member Functions

 vector_UintPtrConversionIterator ()
 
 vector_UintPtrConversionIterator (ITERATOR it)
 
vector_UintPtrConversionIteratoroperator++ ()
 
vector_UintPtrConversionIterator operator++ (int)
 
UintPtr operator* () const
 

Friends

bool operator!= (const vector_UintPtrConversionIterator &lhs, const vector_UintPtrConversionIterator &rhs)
 
bool operator== (const vector_UintPtrConversionIterator &lhs, const vector_UintPtrConversionIterator &rhs)
 
bool operator< (const vector_UintPtrConversionIterator &lhs, const vector_UintPtrConversionIterator &rhs)
 
difference_type operator- (const vector_UintPtrConversionIterator &lhs, const vector_UintPtrConversionIterator &rhs)
 

Member Typedef Documentation

◆ difference_type

template<class VALUE_TYPE , class ITERATOR >
typedef iterator_traits<ITERATOR>::difference_type bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::difference_type

◆ iterator_category

template<class VALUE_TYPE , class ITERATOR >
typedef iterator_traits<ITERATOR>::iterator_category bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::iterator_category

◆ pointer

template<class VALUE_TYPE , class ITERATOR >
typedef UintPtr* bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::pointer

◆ reference

template<class VALUE_TYPE , class ITERATOR >
typedef UintPtr bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::reference

◆ UintPtr

template<class VALUE_TYPE , class ITERATOR >
typedef BloombergLP::bsls::Types::UintPtr bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::UintPtr

◆ value_type

template<class VALUE_TYPE , class ITERATOR >
typedef UintPtr bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::value_type

Constructor & Destructor Documentation

◆ vector_UintPtrConversionIterator() [1/2]

template<class VALUE_TYPE , class ITERATOR >
bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::vector_UintPtrConversionIterator ( )
inline

Create an uninitialized proxy iterator.

◆ vector_UintPtrConversionIterator() [2/2]

template<class VALUE_TYPE , class ITERATOR >
bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::vector_UintPtrConversionIterator ( ITERATOR  it)
inline

Create a proxy iterator adapting the specified it.

Member Function Documentation

◆ operator*()

template<class VALUE_TYPE , class ITERATOR >
BloombergLP::bsls::Types::UintPtr bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::operator* ( ) const
inline

Return the value of the pointer this iterator refers to, converted to an unsigned integer.

◆ operator++() [1/2]

template<class VALUE_TYPE , class ITERATOR >
vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > & bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::operator++ ( )
inline

Increment this iterator to refer to the next element in the underlying sequence, and return a reference to this object.

◆ operator++() [2/2]

template<class VALUE_TYPE , class ITERATOR >
vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR >::operator++ ( int  )
inline

Return this object, and increment this iterator to refer to the next element in the underlying sequence.

Friends And Related Symbol Documentation

◆ operator!=

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

Return true if the specified lhs and rhs iterators do not refer to the same element in the same underlying sequence and no more than one refers to the past-the-end element of the sequence, and false otherwise.

Precondition
The behavior is undefined if lhs and rhs do not iterate over the same sequence.

◆ operator-

template<class VALUE_TYPE , class ITERATOR >
difference_type operator- ( const vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > &  lhs,
const vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > &  rhs 
)
friend

Return the distance between the specified lhs iterator and the specified rhs iterator.

Precondition
The behavior is undefined if lhs and rhs do not iterate over the same sequence, or if the (template parameter) type ITERATOR is not a random access iterator.

◆ operator<

template<class VALUE_TYPE , class ITERATOR >
bool operator< ( const vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > &  lhs,
const vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > &  rhs 
)
friend

Return true if the specified lhs iterator is earlier in the underlying sequence than the specified rhs iterator, and false otherwise.

Precondition
The behavior is undefined if lhs and rhs do not iterate over the same sequence, or if the (template parameter) type ITERATOR is not a random access iterator.

◆ operator==

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

Return true if the specified lhs and rhs iterators refer to the same element in the same underlying sequence or both refer to the past-the-end element of the same sequence, and false otherwise.

Precondition
The behavior is undefined if lhs and rhs do not iterate over the same sequence.

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