YOrch 1.0.0
Loading...
Searching...
No Matches
forward_prev.hpp File Reference
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
#include "../../executor/prev_access_specs.hpp"
#include "../traits.hpp"
#include "common.hpp"
Include dependency graph for forward_prev.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yorch::detail::forward_prev_unique_prev_payload< Specs >
 
struct  yorch::detail::forward_prev_unique_prev_payload< Spec, Rest... >
 

Namespaces

namespace  yorch
 
namespace  yorch::detail
 

Typedefs

template<typename... Specs>
using yorch::detail::forward_prev_unique_prev_payload_t = typename forward_prev_unique_prev_payload< Specs... >::type
 

Enumerations

enum class  yorch::detail::bind_forward_prev_error {
  yorch::detail::ok , yorch::detail::invalid_output_type , yorch::detail::member_callable_not_supported , yorch::detail::direct_output_callable_not_supported ,
  yorch::detail::callable_shape_invalid , yorch::detail::arity_mismatch , yorch::detail::invalid_result_type , yorch::detail::prev_access_count_invalid ,
  yorch::detail::payload_type_mismatch , yorch::detail::binding_mode_not_supported
}
 
enum class  yorch::detail::bind_forward_prev_member_error {
  yorch::detail::ok , yorch::detail::invalid_output_type , yorch::detail::callable_not_member , yorch::detail::direct_output_member_not_supported ,
  yorch::detail::arity_mismatch , yorch::detail::invalid_result_type , yorch::detail::prev_access_count_invalid , yorch::detail::payload_type_mismatch ,
  yorch::detail::binding_mode_not_supported
}
 

Functions

template<typename T , typename F , typename... Specs, std::size_t... I>
consteval bool yorch::detail::forward_prev_bindings_supported_impl (std::index_sequence< I... >)
 
template<typename T , typename F , typename ReceiverSpec , typename... Specs, std::size_t... I>
consteval bool yorch::detail::forward_prev_member_bindings_supported_impl (std::index_sequence< I... >)
 
template<typename T , typename F , typename... Specs>
consteval bind_forward_prev_error yorch::detail::validate_bind_forward_prev ()
 
template<typename T , typename F , typename... Specs>
consteval void yorch::detail::emit_bind_forward_prev_diagnostic ()
 
template<typename T , typename F , typename ReceiverSpec , typename... Specs>
consteval bind_forward_prev_member_error yorch::detail::validate_bind_forward_prev_member ()
 
template<typename T , typename F , typename ReceiverSpec , typename... Specs>
consteval void yorch::detail::emit_bind_forward_prev_member_diagnostic ()
 

Variables

template<typename... Specs>
constexpr std::size_t yorch::detail::forward_prev_prev_access_count_v
 
template<typename T , typename Arg , typename Spec >
constexpr bool yorch::detail::forward_prev_spec_matches_binding_v
 
template<typename T , typename F , typename... Specs>
constexpr bool yorch::detail::bind_forward_prev_payload_matches_v
 
template<typename T , typename F , typename... Specs>
constexpr bool yorch::detail::bind_forward_prev_bindings_supported_v
 
template<typename T , typename F , typename ReceiverSpec >
constexpr bool yorch::detail::forward_prev_member_receiver_binding_supported_v
 
template<typename T , typename F , typename ReceiverSpec , typename... Specs>
constexpr bool yorch::detail::bind_forward_prev_member_payload_matches_v
 
template<typename T , typename F , typename ReceiverSpec , typename... Specs>
constexpr bool yorch::detail::bind_forward_prev_member_bindings_supported_v