Random‐access const iterator over a CompactedArray.

Synopsis

Declared in <bdlc_compactedarray.h>

template<class TYPE>
class CompactedArray_ConstIterator;

Description

This value‐semantic class represents a random access iterator providing non‐modifiable access to the elements of a CompactedArray. This class provides all functionality of a random access iterator, as defined by the standard, but is not compatible with most standard methods requiring a bidirectional const_iterator.

This class does not perform any bounds checking. Any iterator, it, referencing a CompactedArray array, remains valid while 0 <= it ‐ array.begin() < array.length().

Type Aliases

Name

Description

difference_type

Signed type used for distances between iterators.

iterator_category

Tag identifying this type as a random‐access iterator.

pointer

Pointer into the array (unused; always TYPE *).

reference

Reference to an element (unused; always TYPE&).

size_type

Unsigned type used for lengths and indices.

value_type

Element type of the referenced array.

Member Functions

Name

Description

CompactedArray_ConstIterator [constructor]

Constructors

operator=

Assign to this iterator the value of the specified rhs iterator, and return a reference providing modifiable access to this iterator.

operator*

Return a const reference to the element referenced by this iterator.

operator++

Advance this iterator and return a reference to it.

operator+=

Advance this iterator by the specified offset.

operator‐‐

Decrement this iterator and return a reference to it.

operator‐=

Decrement this iterator by the specified offset.

operator‐>

Return a const reference to the element referenced by this iterator.

operator[]

Return a const reference to the element at the specified offset.

Friends

Name

Description

BloombergLP::bdlc::operator>=

Return whether the left iterator follows or equals the right (see free operator>=).

BloombergLP::bdlc::operator>

Return whether the left iterator follows the right (see free operator>).

BloombergLP::bdlc::operator<=

Return whether the left iterator precedes or equals the right (see free operator<=).

BloombergLP::bdlc::operator<

Return whether the left iterator precedes the right (see free operator<).

BloombergLP::bdlc::operator‐

Return the signed distance between two iterators (see free operator‐).

BloombergLP::bdlc::operator‐

Return an iterator at the negated specified offset from the given iterator (see free operator‐).

BloombergLP::bdlc::operator+<>

Return an iterator at the specified offset from the given iterator (see free operator+).

BloombergLP::bdlc::operator!=

Return whether the iterators refer to different positions (see free operator!=).

BloombergLP::bdlc::operator==

Return whether the iterators refer to the same position (see free operator==).

BloombergLP::bdlc::operator‐‐

Decrement iterator and return its prior value (see free operator‐‐).

BloombergLP::bdlc::operator++

Advance iterator and return its prior value (see free operator++).

BloombergLP::bdlc::CompactedArray

Space‐efficient value‐semantic array of TYPE elements.

Non-Member Functions

Name

Description

operator!=

Return true if the specified lhs and rhs iterators differ.

operator+

Return an iterator at the specified offset from iterator.

operator+

Return an iterator at the specified offset from iterator.

operator++

Advance iterator and return its prior value.

operator‐

Return an iterator at the negated specified offset from iterator.

operator‐

Return the signed distance between the specified lhs and rhs.

operator‐‐

Decrement iterator and return its prior value.

operator<

Return true if lhs is less than rhs.

operator<=

Return true if lhs is less than or equal to rhs.

operator==

Return true if the specified lhs and rhs iterators are equal.

operator>

Return true if lhs is greater than rhs.

operator>=

Return true if lhs is greater than or equal to rhs.

Created with MrDocs