kokkos-execution 0.0.1
Loading...
Searching...
No Matches
Kokkos::Execution::Impl::UpsertInEnvFn Struct Reference

#include <env.hpp>

Classes

struct  EnvOneOf
struct  EnvOneOf< stdexec::env< Env1, Env2 > >

Public Types

template<typename Env>
using env1_of_t = typename EnvOneOf<std::remove_cvref_t<Env>>::type

Public Member Functions

template<typename Tag, typename PropValue, typename Value>
constexpr auto operator() (Tag tag, stdexec::prop< Tag, PropValue >, Value &&value) const noexcept
 Handle the case of a stdexec::prop without wrapping it into an stdexec::env.
template<typename Tag, typename Env, typename Value>
requires (!stdexec::__queryable_with<std::remove_cvref_t<Env>, Tag>)
constexpr auto operator() (Tag tag, Env &&env, Value &&value) const noexcept
 The environment does not contain the required property.
template<typename Tag, typename PropValue, typename Value>
constexpr auto operator() (Tag tag, stdexec::env< stdexec::prop< Tag, PropValue > >, Value &&value) const noexcept
 The environment contains the required property, possibly with a value mismatch.
template<typename Tag, typename Env, typename Value>
requires (stdexec::__queryable_with<env1_of_t<std::remove_cvref_t<Env>>, Tag>)
constexpr auto operator() (Tag tag, Env &&env, Value &&value) const noexcept
 Multiple properties are carried, the first one matches.
template<typename Tag, typename Env, typename Value>
requires ( stdexec::__queryable_with<std::remove_cvref_t<Env>, Tag> && !stdexec::__queryable_with<env1_of_t<std::remove_cvref_t<Env>>, Tag>)
constexpr auto operator() (Tag tag, Env &&env, Value &&value) const noexcept
 Multiple properties are carried, but the first one doesn't match.
template<typename Tag, typename Env, typename Value>
requires ( stdexec::__queryable_with<Env &&, Tag> && stdexec::__env::__is_fwd_env<Env> && requires( UpsertInEnvFn const & self, Tag tag, Env&& env, Value&& value) { self(tag, std::forward<Env>(env).__env_, std::forward<Value>(value)); })
constexpr auto operator() (Tag tag, Env &&env, Value &&value) const noexcept
 Unwrap forwarding environment and delegate to the appropriate overload.

Detailed Description

Definition at line 15 of file env.hpp.

Member Typedef Documentation

◆ env1_of_t

template<typename Env>
using Kokkos::Execution::Impl::UpsertInEnvFn::env1_of_t = typename EnvOneOf<std::remove_cvref_t<Env>>::type

Definition at line 26 of file env.hpp.

Member Function Documentation

◆ operator()() [1/6]

template<typename Tag, typename Env, typename Value>
requires ( stdexec::__queryable_with<Env &&, Tag> && stdexec::__env::__is_fwd_env<Env> && requires( UpsertInEnvFn const & self, Tag tag, Env&& env, Value&& value) { self(tag, std::forward<Env>(env).__env_, std::forward<Value>(value)); })
auto Kokkos::Execution::Impl::UpsertInEnvFn::operator() ( Tag tag,
Env && env,
Value && value ) const
inlineconstexprnoexcept

Unwrap forwarding environment and delegate to the appropriate overload.

Definition at line 83 of file env.hpp.

References operator()().

◆ operator()() [2/6]

template<typename Tag, typename Env, typename Value>
requires ( stdexec::__queryable_with<std::remove_cvref_t<Env>, Tag> && !stdexec::__queryable_with<env1_of_t<std::remove_cvref_t<Env>>, Tag>)
auto Kokkos::Execution::Impl::UpsertInEnvFn::operator() ( Tag tag,
Env && env,
Value && value ) const
inlineconstexprnoexcept

Multiple properties are carried, but the first one doesn't match.

Definition at line 67 of file env.hpp.

References operator()().

◆ operator()() [3/6]

template<typename Tag, typename Env, typename Value>
requires (stdexec::__queryable_with<env1_of_t<std::remove_cvref_t<Env>>, Tag>)
auto Kokkos::Execution::Impl::UpsertInEnvFn::operator() ( Tag tag,
Env && env,
Value && value ) const
inlineconstexprnoexcept

Multiple properties are carried, the first one matches.

Definition at line 55 of file env.hpp.

◆ operator()() [4/6]

template<typename Tag, typename Env, typename Value>
requires (!stdexec::__queryable_with<std::remove_cvref_t<Env>, Tag>)
auto Kokkos::Execution::Impl::UpsertInEnvFn::operator() ( Tag tag,
Env && env,
Value && value ) const
inlineconstexprnoexcept

The environment does not contain the required property.

Definition at line 37 of file env.hpp.

◆ operator()() [5/6]

template<typename Tag, typename PropValue, typename Value>
auto Kokkos::Execution::Impl::UpsertInEnvFn::operator() ( Tag tag,
stdexec::env< stdexec::prop< Tag, PropValue > > ,
Value && value ) const
inlineconstexprnoexcept

The environment contains the required property, possibly with a value mismatch.

Definition at line 46 of file env.hpp.

◆ operator()() [6/6]

template<typename Tag, typename PropValue, typename Value>
auto Kokkos::Execution::Impl::UpsertInEnvFn::operator() ( Tag tag,
stdexec::prop< Tag, PropValue > ,
Value && value ) const
inlineconstexprnoexcept

Handle the case of a stdexec::prop without wrapping it into an stdexec::env.

Definition at line 30 of file env.hpp.


The documentation for this struct was generated from the following file:
  • /__w/kokkos-execution/kokkos-execution/kokkos-execution/impl/env.hpp