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

Go to the source code of this file.

Classes

struct  yorch::no_prev
 Sentinel view indicating that the current execution has no direct parent output. More...
 
struct  yorch::prev_slot_view< T >
 Lightweight borrowed view over a direct parent output slot. More...
 
struct  yorch::context< Ts >
 Statically typed context container with a compile-time schema. More...
 
struct  yorch::exec_context< Ctx, Prev >
 Lightweight borrowed view used during execution. More...
 
struct  yorch::exec_context< Ctx, no_prev >
 
struct  yorch::exec_context< void, no_prev >
 Indicates that the current execution path carries no context. More...
 
struct  yorch::exec_context< void, Prev >
 

Namespaces

namespace  yorch
 
namespace  yorch::detail
 

Functions

template<typename T >
constexpr auto yorch::prev_slot (T &value) noexcept -> prev_slot_view< T >
 Creates a borrowed view over a direct parent payload object.
 

Variables

template<typename T , typename... Ts>
constexpr std::size_t yorch::detail::type_count_v = (std::size_t{0} + ... + (std::is_same_v<T, Ts> ? 1 : 0))
 
template<typename... Ts>
constexpr bool yorch::detail::unique_types_v = ((type_count_v<Ts, Ts...> == 1) && ...)
 
template<typename >
constexpr bool yorch::detail::no_prev_always_false_v = false