BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsl::vector_UintPtrConversionIterator< VALUE_TYPE, ITERATOR > Class Template Reference

#include <bslstl_vector.h>

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 (ITERATOR it)
 Create a proxy iterator adapting the specified it.
 
vector_UintPtrConversionIteratoroperator++ ()
 
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)
 

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

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()

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

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++()

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.

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

◆ 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. 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. 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. 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: