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`.