Back to Onetbb

ContainerRange

doc/main/specification/source/named_requirements/containers/container_range.rst

2023.0.01.4 KB
Original Source

.. SPDX-FileCopyrightText: 2019-2020 Intel Corporation .. .. SPDX-License-Identifier: CC-BY-4.0

============== ContainerRange

[req.container_range]

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 :doc:Range requirements <../algorithms/range>.

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

    .. cpp:type:: CR::value_type

      The type of the item in the range.
    

    .. cpp:type:: CR::reference

      Reference type to the item in the range.
    

    .. cpp:type:: CR::const_reference

      Constant reference type to the item in the range.
    

    .. cpp:type:: CR::iterator

      Iterator type for range traversal.
    

    .. cpp:type:: CR::size_type

      Unsigned integer type for obtaining grain size.
    

    .. cpp:type:: CR::difference_type

      The type of the difference between two iterators.
    

    .. cpp:function:: iterator CR::begin()

      Returns an iterator to the beginning of the range.
    

    .. cpp:function:: iterator CR::end()

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

    .. cpp:function:: size_type CR::grainsize() const

      Returns the range grain size.