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

Go to the source code of this file.

Namespaces

namespace  yorch
 
namespace  yorch::detail
 

Concepts

concept  yorch::detail::plan_validatable_node
 

Enumerations

enum class  yorch::detail::plan_validation_error {
  yorch::detail::ok , yorch::detail::prev_access_root_node , yorch::detail::prev_access_void_parent , yorch::detail::forward_prev_root_node ,
  yorch::detail::forward_prev_void_parent , yorch::detail::forward_prev_parent_type_mismatch , yorch::detail::prev_access_mode_invalid , yorch::detail::fanout_policy_invalid
}
 

Functions

template<typename Plan , std::size_t I>
requires plan_validatable_node<Plan, I>
consteval bool yorch::detail::node_uses_root_prev_access ()
 
template<typename Plan , std::size_t I>
requires plan_validatable_node<Plan, I>
consteval bool yorch::detail::node_uses_void_parent_prev_access ()
 
template<typename Plan , std::size_t I>
requires plan_validatable_node<Plan, I>
consteval bool yorch::detail::node_uses_root_forward_prev ()
 
template<typename Plan , std::size_t I>
requires plan_validatable_node<Plan, I>
consteval bool yorch::detail::node_uses_void_parent_forward_prev ()
 
template<typename Plan , std::size_t I>
requires plan_validatable_node<Plan, I>
consteval bool yorch::detail::node_uses_mismatched_forward_prev_parent_type ()
 
template<typename Plan , std::size_t... I>
requires (plan_validatable_node<Plan, I> && ...)
consteval plan_validation_error yorch::detail::validate_plan_impl (std::index_sequence< I... >)
 
template<typename Plan >
consteval plan_validation_error yorch::detail::validate_plan ()
 
template<typename Plan >
consteval void yorch::detail::emit_plan_diagnostic ()
 

Variables

template<typename >
constexpr bool yorch::detail::plan_validation_always_false_v = false
 
template<typename Plan >
constexpr plan_validation_error yorch::detail::plan_validation_error_v
 
template<typename Plan >
constexpr bool yorch::detail::plan_valid_v