ContainerRange is a range that represents a concurrent container or a part of the container.

The ContainerRange object can be used to traverse the container in parallel algorithms like parallel_for.

The type CR satisfies the ContainerRange requirements if:

  • The type CR meets the requirements of Range requirements.

  • The type CR provides the following member types and functions:

    type CR::value_type

    The type of the item in the range.

    type CR::reference

    Reference type to the item in the range.

    type CR::const_reference

    Constant reference type to the item in the range.

    type CR::iterator

    Iterator type for range traversal.

    type CR::size_type

    Unsigned integer type for obtaining grain size.

    type CR::difference_type

    The type of the difference between two iterators.

    iterator CR::begin()

    Returns an iterator to the beginning of the range.

    iterator CR::end()

    Returns an iterator to the position that follows the last element in the range.

    size_type CR::grainsize() const

    Returns the range grain size.