# Iteration¶

Class template enumerable_thread_specific supports random access iterators, which enable iteration over the set of all elements in the container.

iterator begin()

Returns iterator pointing to the beginning of the set of elements.

iterator end()

Returns iterator pointing to the end of the set of elements.

const_iterator begin() const

Returns const_iterator pointing to the beginning of the set of elements.

const_iterator end() const

Returns const_iterator pointing to the end of the set of elements.

Class template enumerable_thread_specific supports const_range_type and range_type types, which model the ContainerRange requirement. The types differ only in that the bounds for a const_range_type are of type const_iterator, whereas the bounds for a range_type are of type iterator.

const_range_type range(size_t grainsize = 1) const

Returns: A const_range_type representing all elements in *this. The parameter grainsize is in units of elements.

range_type range(size_t grainsize = 1)

Returns: A range_type representing all elements in *this. The parameter grainsize is in units of elements.