[#bsl-vector_UintPtrConversionIterator] = xref:bsl.adoc[bsl]::vector_UintPtrConversionIterator :relfileprefix: ../ :mrdocs: 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` == Synopsis Declared in `<bslstl_vector.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VALUE_TYPE, class ITERATOR> class vector_UintPtrConversionIterator; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/vector_UintPtrConversionIterator/UintPtr.adoc[`UintPtr`] | Alias for an unsigned integer type large enough to hold a pointer. | xref:bsl/vector_UintPtrConversionIterator/difference_type.adoc[`difference_type`] | This `typedef` is an alias to the wrapped iterator's `difference_type`. | xref:bsl/vector_UintPtrConversionIterator/iterator_category.adoc[`iterator_category`] | This `typedef` is an alias to the wrapped iterator's `iterator_category`. | xref:bsl/vector_UintPtrConversionIterator/pointer.adoc[`pointer`] | This `typedef` is an alias to `UintPtr *`. | xref:bsl/vector_UintPtrConversionIterator/reference.adoc[`reference`] | This `typedef` is an alias to `UintPtr`. | xref:bsl/vector_UintPtrConversionIterator/value_type.adoc[`value_type`] | This `typedef` is an alias to `UintPtr`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/vector_UintPtrConversionIterator/2constructor-0f.adoc[`vector_UintPtrConversionIterator`] [.small]#[constructor]# | Constructors | xref:bsl/vector_UintPtrConversionIterator/operator_star.adoc[`operator*`] | Return the value of the pointer this iterator refers to, converted to an unsigned integer. | xref:bsl/vector_UintPtrConversionIterator/operator_inc-01.adoc[`operator++`] | Increment operators | xref:bsl/vector_UintPtrConversionIterator/operator_eq.adoc[`operator==`] | Return `true` if this iterator compares equal to the specified `rhs` sentinel, and `false` otherwise. | xref:bsl/vector_UintPtrConversionIterator/operator_3way.adoc[`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. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:bsl/operator_minus-00.adoc[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. | `xref:bsl/operator_minus-05.adoc[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. | `xref:bsl/operator_lt-03.adoc[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. | `xref:bsl/operator_eq-055.adoc[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. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#