| Home | Libraries | People | FAQ | More

### Iterator related

Synopsis Complexities | interval sets | interval maps | element sets | element maps
--- | --- | --- | --- | ---
`J T::begin()` | O(1) | O(1) | O(1) | O(1)
`J T::end()` | O(1) | O(1) | O(1) | O(1)
`J T::rbegin()` | O(1) | O(1) | O(1) | O(1)
`J T::rend()` | O(1) | O(1) | O(1) | O(1)
`J T::lower_bound(const key_type&)` | O(log n) | O(log n) | O(log n) | O(log n)
`J T::upper_bound(const key_type&)` | O(log n) | O(log n) | O(log n) | O(log n)
`pair<J,J> T::equal_range(const key_type&)` | O(log n) | O(log n) | O(log n) | O(log n)

Iterator related |
--- | ---

          iterator T::begin()
    const_iterator T::begin()const

Returns an iterator to the first value of the container.

          iterator T::end()
    const_iterator T::end()const

Returns an iterator to a position `end()` after the last value of the container.

          reverse_iterator T::rbegin()
    const_reverse_iterator T::rbegin()const

Returns a reverse iterator to the last value of the container.

          reverse_iterator T::rend()
    const_reverse_iterator T::rend()const

Returns a reverse iterator to a position `rend()` before the first value of the container.

          iterator T::lower_bound(const key_type& k)
    const_iterator T::lower_bound(const key_type& key)const

Returns an iterator that points to the first element `first`, that does not compare less than `key_type key`. `first` can be equal or greater than `key`, or it may overlap `key` for interval containers.

          iterator T::upper_bound(const key_type&)
    const_iterator T::upper_bound(const key_type&)const

Returns an iterator that points to the first element `past`, that compares greater than `key_type key`.

                pair<iterator,iterator> T::equal_range(const key_type& key)
    pair<const_iterator,const_iterator> T::equal_range(const key_type& key)const

Returns a range `[first, past)` of iterators to all elements of the container that compare neither less than nor greater than `key_type key`. For element containers `std::set` and `icl::map`, `equal_range` contains at most one iterator pointing the element equal to `key`, if it exists.

For interval containers `equal_range` contains iterators to all intervals that overlap interval `key`.

See also . . .

Element iteration

Back to section . . .

Function Synopsis
Interface