STL‐compliant random‐access iterator adapted from a minimal implementation.
Synopsis
Declared in <bslstl_randomaccessiterator.h>
template<
class T,
class ITER_IMP,
class TAG_TYPE = std::random_access_iterator_tag>
class RandomAccessIterator
: public BidirectionalIterator<T, ITER_IMP, TAG_TYPE>
Description
Given an ITER_IMP type that implements a minimal subset of an iterator interface, this template generates a complete iterator that meets all of the requirements of a "random‐access iterator" in the C++ standard. If T is const‐qualified, then the resulting type is a const iterator. T shall not be a function, reference type or void. ITER_IMP must provide public operations so that, for objects i and j of type ITER_IMP and n of an integral type, the following operations are supported: ` ITER_IMP i; default construction ITER_IMP j(i); copy construction i = j assignment ++i increment to next element ‐‐i decrement to previous element i += n increment by n elements i ‐= n decrement by n elements j ‐ i // convertible to ptrdiff_t distance from i to j i == j // convertible to bool equality comparison i < j // convertible to bool less‐than comparison *i // reference convertible to T& element access (dereference) `
Base Classes
Name |
Description |
Adaptor that produces a standard bidirectional iterator from a core type. |
Type Aliases
Name |
Description |
Signed integer type measuring iterator distance. |
|
Random‐access iterator category tag. |
|
Pointer type for the iterator's value type. |
|
Reference type for the iterator's value type. |
|
Value type referred to by this iterator. |
Member Functions
Name |
Description |
|
Constructors |
Assignment operators |
|
|
|
Return a reference to the current element. |
|
Advance this iterator to the next element. |
|
Advance this iterator by the specified offset. |
|
Regress this iterator to the previous element. |
|
Regress this iterator by the specified offset. |
|
Return a pointer to the current element. |
|
Return a reference to the element at the specified index offset. |
Non-Member Functions
Name |
Description |
Return |
|
Return |
|
Return whether two bidirectional iterators refer to different positions. |
|
Return an iterator |
|
Return an iterator |
|
Advance |
|
Advance |
|
Post‐increment the specified iterator and return its previous value. |
|
Return an iterator |
|
Return the distance from |
|
Regress |
|
Post‐decrement the specified iterator and return its previous value. |
|
Return |
|
Return |
|
Return |
|
Return whether two bidirectional iterators refer to the same position. |
|
Return |
|
Return |
|
Return |
Created with MrDocs