Maki
Loading...
Searching...
No Matches
maki::guard< Sig, Callable > Struct Template Reference

Represents a guard to be given to maki::transition_table. Use the builder functions (maki::guard_v() and its variants) instead of using this type directly. More...

#include <maki/guard.hpp>

Public Attributes

Callable callable
 

Static Public Attributes

static constexpr guard_signature signature = Sig
 

Related Symbols

(Note that these are not member symbols.)

template<class Callable>
constexpr guard< guard_signature::c, Callable > guard_c (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::ce, Callable > guard_ce (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::cm, Callable > guard_cm (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::cme, Callable > guard_cme (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::e, Callable > guard_e (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::m, Callable > guard_m (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::me, Callable > guard_me (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<class Callable>
constexpr guard< guard_signature::v, Callable > guard_v (const Callable &callable)
 Makes a maki::guard with the indicated signature and given callable.
 
template<guard_signature Signature, class Callable>
constexpr auto operator! (const guard< Signature, Callable > &grd)
 Makes a maki::guard that returns true if grd returns false.
 
template<guard_signature LhsSignature, class LhsCallable, guard_signature RhsSignature, class RhsCallable>
constexpr auto operator!= (const guard< LhsSignature, LhsCallable > &lhs, const guard< RhsSignature, RhsCallable > &rhs)
 Makes a maki::guard that returns true if exactly one of lhs or rhs returns true.
 
template<guard_signature LhsSignature, class LhsCallable, guard_signature RhsSignature, class RhsCallable>
constexpr auto operator&& (const guard< LhsSignature, LhsCallable > &lhs, const guard< RhsSignature, RhsCallable > &rhs)
 Makes a maki::guard that returns true if lhs and rhs return true.
 
template<guard_signature LhsSignature, class LhsCallable, guard_signature RhsSignature, class RhsCallable>
constexpr auto operator|| (const guard< LhsSignature, LhsCallable > &lhs, const guard< RhsSignature, RhsCallable > &rhs)
 Makes a maki::guard that returns true if lhs or rhs returns true.
 

Detailed Description

template<guard_signature Sig, class Callable>
struct maki::guard< Sig, Callable >

Represents a guard to be given to maki::transition_table. Use the builder functions (maki::guard_v() and its variants) instead of using this type directly.