``all_of`` ========== Header: ```` Description ----------- Returns ``true`` if all the elements in a range or rank-1 ``View`` satisfy a target unary predicate. Interface --------- .. warning:: This is currently inside the ``Kokkos::Experimental`` namespace. Overload set accepting execution space ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: cpp template bool all_of(const ExecutionSpace& exespace, (1) InputIterator first, InputIterator last, Predicate predicate); template bool all_of(const std::string& label, const ExecutionSpace& exespace, (2) InputIterator first, InputIterator last, Predicate predicate); template bool all_of(const ExecutionSpace& exespace, const ::Kokkos::View& view, (3) Predicate predicate); template bool all_of(const std::string& label, const ExecutionSpace& exespace, (4) const ::Kokkos::View& view, Predicate predicate); Overload set accepting a team handle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. versionadded:: 4.2 .. code-block:: cpp template KOKKOS_FUNCTION bool all_of(const TeamHandleType& teamHandle, (5) InputIterator first, InputIterator last, Predicate predicate); template KOKKOS_FUNCTION bool all_of(const TeamHandleType& teamHandle, (6) const ::Kokkos::View& view, Predicate predicate); Parameters and Requirements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ``exespace``: execution space instance - ``teamHandle``: team handle instance given inside a parallel region when using a TeamPolicy - ``label``: string forwarded to internal parallel kernels for debugging purposes - 1: The default string is "Kokkos::all_of_iterator_api_default". - 3: The default string is "Kokkos::all_of_view_api_default". - NOTE: overloads accepting a team handle do not use a label internally - ``first, last``: range of elements to search in - must be *random access iterators*, e.g., returned from ``Kokkos::Experimental::(c)begin/(c)end`` - must represent a valid range, i.e., ``last >= first`` - must be accessible from ``exespace`` or from the execution space associated with the team handle - ``view``: - must be rank-1, and have ``LayoutLeft``, ``LayoutRight``, or ``LayoutStride`` - must be accessible from ``exespace`` or from the execution space associated with the team handle - ``pred``: *unary* functor returning ``true`` if an argument satisfies the desired condition. ``pred(v)`` must be valid to be called from the execution space passed, or the execution space associated with the team handle, and convertible to bool for every argument ``v`` of type ``value_type``, where ``value_type`` is the value type of ``IteratorType`` or ``view`` and must not modify ``v``. - must conform to: .. code-block:: cpp struct CustomPredicate{ KOKKOS_INLINE_FUNCTION bool operator()(const value_type & v) const { return /* true if v satisfies your desired condition */; } }; Return Value ~~~~~~~~~~~~ Returns ``true`` if the unary predicate returns ``true`` for all elements in the range or ``view``, or the range or ``view`` are empty. Returns ``false`` otherwise.