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

Proxy range adapting pointer iterators to `uintptr&lowbar;t` values&period;

== Synopsis

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

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

== Description

This class provides a minimal proxy range 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; `t&lowbar;VALUE&lowbar;TYPE` shall be a pointer type, and `&lsqb;d&lowbar;begin, d&lowbar;end)&rsqb;` is a range of the input values&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/vector_UintPtrRangeAdapter/const_iterator.adoc[`const&lowbar;iterator`] 
| This `typedef` is an alias to `iterator`&period;
| xref:bsl/vector_UintPtrRangeAdapter/iterator.adoc[`iterator`] 
| This `typedef` is an alias to the converting iterator for `t&lowbar;VALUE&lowbar;TYPE` over `t&lowbar;ITERATOR`&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/vector_UintPtrRangeAdapter/begin.adoc[`begin`] 
| Return a converting iterator to the beginning of this range&period;
| xref:bsl/vector_UintPtrRangeAdapter/end.adoc[`end`] 
| Return the sentinel at the end of this range&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:bsl/vector_UintPtrRangeAdapter/d_begin.adoc[`d&lowbar;begin`] 
| Beginning of the adapted iterator range&period;
| xref:bsl/vector_UintPtrRangeAdapter/d_end.adoc[`d&lowbar;end`] 
| End of the adapted iterator range&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/vector_makeUintPtrRangeAdapter.adoc[`vector&lowbar;makeUintPtrRangeAdapter`]
| Factory function for `vector&lowbar;UintPtrRangeAdapter`&period;
|===


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