kokkos-execution 0.0.1
Loading...
Searching...
No Matches
experimental::execution::elide< T, Args > Struct Template Reference

#include <elide.hpp>

Public Member Functions

 elide ()=delete
 elide (const elide &)=delete
elide & operator= (const elide &)=delete
constexpr elide (T t, Args... args) noexcept
constexpr operator rvalue_result_type_ () const &&noexcept(rvalue_noexcept_)
constexpr rvalue_result_type_ operator() () const &&noexcept(rvalue_noexcept_)
constexpr operator lvalue_result_type_ () const &noexcept(lvalue_noexcept_)
constexpr lvalue_result_type_ operator() () const &noexcept(lvalue_noexcept_)

Private Types

using rvalue_result_type_ = std::invoke_result_t<T, Args...>
using lvalue_result_type_ = typename detail::elide::lvalue_result<T, Args...>::type

Private Attributes

T t_
std::tuple< Args... > args_

Static Private Attributes

static constexpr bool rvalue_noexcept_ = std::is_nothrow_invocable_v<T, Args...>
static constexpr bool lvalue_noexcept_ = std::is_nothrow_invocable_v<T&, Args&...>

Detailed Description

template<typename T, typename... Args>
requires detail::elide::c<T, Args...>
struct experimental::execution::elide< T, Args >

Definition at line 55 of file elide.hpp.

Member Typedef Documentation

◆ lvalue_result_type_

template<typename T, typename... Args>
using experimental::execution::elide< T, Args >::lvalue_result_type_ = typename detail::elide::lvalue_result<T, Args...>::type
private

Definition at line 68 of file elide.hpp.

◆ rvalue_result_type_

template<typename T, typename... Args>
using experimental::execution::elide< T, Args >::rvalue_result_type_ = std::invoke_result_t<T, Args...>
private

Definition at line 67 of file elide.hpp.

Constructor & Destructor Documentation

◆ elide() [1/3]

template<typename T, typename... Args>
experimental::execution::elide< T, Args >::elide ( )
delete

◆ elide() [2/3]

template<typename T, typename... Args>
experimental::execution::elide< T, Args >::elide ( const elide< T, Args > & )
delete

References elide().

◆ elide() [3/3]

template<typename T, typename... Args>
experimental::execution::elide< T, Args >::elide ( T t,
Args... args )
inlineexplicitconstexprnoexcept

Definition at line 60 of file elide.hpp.

References args_, and t_.

Member Function Documentation

◆ operator lvalue_result_type_()

template<typename T, typename... Args>
experimental::execution::elide< T, Args >::operator lvalue_result_type_ ( ) const &
inlineconstexprnoexcept

Definition at line 82 of file elide.hpp.

References args_, lvalue_noexcept_, and t_.

◆ operator rvalue_result_type_()

template<typename T, typename... Args>
experimental::execution::elide< T, Args >::operator rvalue_result_type_ ( ) const &&
inlineconstexprnoexcept

Definition at line 70 of file elide.hpp.

References args_, rvalue_noexcept_, and t_.

◆ operator()() [1/2]

template<typename T, typename... Args>
rvalue_result_type_ experimental::execution::elide< T, Args >::operator() ( ) const &&
inlineconstexprnoexcept

Definition at line 78 of file elide.hpp.

References rvalue_noexcept_.

◆ operator()() [2/2]

template<typename T, typename... Args>
lvalue_result_type_ experimental::execution::elide< T, Args >::operator() ( ) const &
inlineconstexprnoexcept

Definition at line 92 of file elide.hpp.

References elide(), and lvalue_noexcept_.

◆ operator=()

template<typename T, typename... Args>
elide & experimental::execution::elide< T, Args >::operator= ( const elide< T, Args > & )
delete

References elide().

Member Data Documentation

◆ args_

template<typename T, typename... Args>
std::tuple<Args...> experimental::execution::elide< T, Args >::args_
private

Definition at line 100 of file elide.hpp.

◆ lvalue_noexcept_

template<typename T, typename... Args>
bool experimental::execution::elide< T, Args >::lvalue_noexcept_ = std::is_nothrow_invocable_v<T&, Args&...>
staticconstexprprivate

Definition at line 66 of file elide.hpp.

◆ rvalue_noexcept_

template<typename T, typename... Args>
bool experimental::execution::elide< T, Args >::rvalue_noexcept_ = std::is_nothrow_invocable_v<T, Args...>
staticconstexprprivate

Definition at line 65 of file elide.hpp.

◆ t_

template<typename T, typename... Args>
T experimental::execution::elide< T, Args >::t_
private

Definition at line 98 of file elide.hpp.


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