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

Go to the source code of this file.

Classes

struct  yorch::from_ctx_t< T >
 Describes a parameter sourced from the execution context by type. More...
 
struct  yorch::borrow_prev_t< T >
 Describes a parameter that borrows the direct parent output as const T&. More...
 
struct  yorch::borrow_prev_mut_t< T >
 Describes a parameter that borrows the direct parent output as T&. More...
 
struct  yorch::copy_prev_t< T >
 Describes a parameter that copies the direct parent output as T. More...
 
struct  yorch::consume_prev_t< T >
 Describes a parameter that consumes the direct parent output. More...
 
struct  yorch::value_t< T >
 Stores a concrete value inside a spec. More...
 

Namespaces

namespace  yorch
 

Functions

template<typename T >
constexpr auto yorch::from_ctx () noexcept -> from_ctx_t< std::remove_cvref_t< T > >
 Creates a spec that asks execution to fetch T from the context.
 
template<typename T >
constexpr auto yorch::borrow_prev () noexcept -> borrow_prev_t< std::remove_cvref_t< T > >
 Creates a spec that borrows T from the direct parent output slot as const T&.
 
template<typename T >
constexpr auto yorch::borrow_prev_mut () noexcept -> borrow_prev_mut_t< std::remove_cvref_t< T > >
 Creates a spec that borrows T from the direct parent output slot as T&.
 
template<typename T >
constexpr auto yorch::copy_prev () noexcept -> copy_prev_t< std::remove_cvref_t< T > >
 Creates a spec that copies T from the direct parent output slot as a new value.
 
template<typename T >
constexpr auto yorch::consume_prev () noexcept -> consume_prev_t< std::remove_cvref_t< T > >
 Creates a spec that consumes T from the direct parent output slot.
 
template<typename T >
constexpr auto yorch::value (T &&v) -> value_t< std::remove_cvref_t< T > >
 Wraps a value as an owning spec.