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
Declared in <bslstl_vector.h>
template<
class VALUE_TYPE,
class ITERATOR>
class vector_UintPtrConversionIterator;
| Name | Description |
|---|---|
UintPtr | Alias for an unsigned integer type large enough to hold a pointer. |
difference_type | This typedef is an alias to the wrapped iterator's difference_type. |
iterator_category | This typedef is an alias to the wrapped iterator's iterator_category. |
pointer | This typedef is an alias to UintPtr *. |
reference | This typedef is an alias to UintPtr. |
value_type | This typedef is an alias to UintPtr. |
| Name | Description |
|---|---|
vector_UintPtrConversionIterator [constructor] | Constructors |
operator* | Return the value of the pointer this iterator refers to, converted to an unsigned integer. |
operator++ | Increment operators |
operator== | Return true if this iterator compares equal to the specified rhs sentinel, and false otherwise. |
operator<=> | Perform a three-way comparison with the specified other object and return the result of that comparison. Where the underlying (wrapped) iterator of type ITERATOR supports 3 way comparison, the default spaceship operator will defer to ITERATOR::operator<=> and have the same return type as ITERATOR::operator<=>; otherwise, this operator will be deleted. |
| Name | Description |
|---|---|
bsl::operator- | 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. |
bsl::operator- | Return the distance between the specified sentinel s and the specified iterator i. The behavior is undefined unless s and i iterate over the same sequence. |
bsl::operator< | 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. |
bsl::operator== | 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. |