[#bsl-vector_UintPtrConversionIterator]
= xref:bsl.adoc[bsl]::vector&lowbar;UintPtrConversionIterator
:relfileprefix: ../
:mrdocs:

Proxy iterator converting dereferenced pointers to `uintptr&lowbar;t`&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;vector&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class VALUE&lowbar;TYPE,
    class ITERATOR&gt;
class vector&lowbar;UintPtrConversionIterator;
----

== Description

This class provides a minimal proxy iterator adapter, transforming pointers to `uintptr&lowbar;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&period; While it does not provide a standard conforming iterator itself, if provides exactly sufficient behavior to implement all the needed members&period; `VALUE&lowbar;TYPE` shall be a pointer type, and `ITERATOR` shall be a standard conforming iterator that dereferences to a type implicitly convertible to `VALUE&lowbar;TYPE`

== 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&period;
| xref:bsl/vector_UintPtrConversionIterator/difference_type.adoc[`difference&lowbar;type`] 
| This `typedef` is an alias to the wrapped iterator&apos;s `difference&lowbar;type`&period;
| xref:bsl/vector_UintPtrConversionIterator/iterator_category.adoc[`iterator&lowbar;category`] 
| This `typedef` is an alias to the wrapped iterator&apos;s `iterator&lowbar;category`&period;
| xref:bsl/vector_UintPtrConversionIterator/pointer.adoc[`pointer`] 
| This `typedef` is an alias to `UintPtr &ast;`&period;
| xref:bsl/vector_UintPtrConversionIterator/reference.adoc[`reference`] 
| This `typedef` is an alias to `UintPtr`&period;
| xref:bsl/vector_UintPtrConversionIterator/value_type.adoc[`value&lowbar;type`] 
| This `typedef` is an alias to `UintPtr`&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/vector_UintPtrConversionIterator/2constructor-0f.adoc[`vector&lowbar;UintPtrConversionIterator`]         [.small]#[constructor]#
| Constructors
| xref:bsl/vector_UintPtrConversionIterator/operator_star.adoc[`operator&ast;`] 
| Return the value of the pointer this iterator refers to, converted to an unsigned integer&period;
| xref:bsl/vector_UintPtrConversionIterator/operator_inc-01.adoc[`operator&plus;&plus;`] 
| Increment operators
| xref:bsl/vector_UintPtrConversionIterator/operator_eq.adoc[`operator&equals;&equals;`] 
| Return `true` if this iterator compares equal to the specified `rhs` sentinel, and `false` otherwise&period;
| xref:bsl/vector_UintPtrConversionIterator/operator_3way.adoc[`operator&lt;&equals;&gt;`] 
| Perform a three&hyphen;way comparison with the specified `other` object and return the result of that comparison&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:bsl/operator_minus-00.adoc[bsl::operator&hyphen;]`
| Return the distance between the specified `lhs` iterator and the specified `rhs` iterator&period;
| `xref:bsl/operator_minus-05.adoc[bsl::operator&hyphen;]`
| Return the distance from the specified `i` iterator to the specified `s` sentinel&period;
| `xref:bsl/operator_lt-03.adoc[bsl::operator&lt;]`
| Return `true` if the specified `lhs` iterator is earlier in the underlying sequence than the specified `rhs` iterator, and `false` otherwise&period;
| `xref:bsl/operator_eq-055.adoc[bsl::operator&equals;&equals;]`
| 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&hyphen;the&hyphen;end element&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
