|
using | Functor = F |
|
using | ValueType = typename std::conditional_t< ValueTypeIsAny, AnyType, typename InvokeResultIfT<!ValueTypeIsAny, Functor, typename Children::ValueType... >::T > |
|
template<typename... NewChildren> |
using | ReplaceChildren = VariableFunctor< Functor, NewChildren... > |
|
using | Substitute = std::conditional_t< std::is_same_v< VariableFunctor< F, Children... >, Old >, New, typename DeferSubclass< Old >::template ReplaceChildren< typename Children::template Substitute< Old, New >... > > |
| Recursively substitute the given old user with the given new user. More...
|
|
using | Vars = typename sp::cat_integer_sequences< typename Children::Vars... >::template sort<>::template unique<> |
| The set of unbound variable names. More...
|
|
using | VarType = typename VarTypeHelper< typename Children::template VarType< Name >... >::type |
| The type of a named variable. More...
|
|
using | ChildType = typename sp::TypeList< Children... >::template get< I > |
| The type of the Ith child. More...
|
|
|
constexpr | VariableFunctor (const Children &... children) |
|
constexpr decltype(auto) | operator() () const |
| Execute the functor with the bound arguments. More...
|
|
constexpr decltype(auto) | operator() (Ts &&... values) const |
| Calls operator() on the result of binding this object to a set of variables. More...
|
|
constexpr auto & | get () |
| Get the Ith child. More...
|
|
constexpr const auto & | get () const |
| Get the Ith child. More...
|
|
constexpr auto | bind (Ts &&... values) const |
| Bind a specified set of values to the corresponding variables in this expression. More...
|
|
constexpr auto | bind (Ts &&... values) const |
| Bind a set of values to the expression's variables. More...
|
|
constexpr auto | substitute (const New &newValue) const |
| Substitute all instances of the given type with the the given new value. More...
|
|
constexpr auto | replaceChildren (NewChildren &&... newChildren) const |
| Replace the children of this variable user with the given new children. More...
|
|
template<typename F, typename... Children>
class sp::VariableFunctor< F, Children >
Represents a functor to be applied in the variable system.
- Template Parameters
-
F | A functor representing the operation to perform. |
Children | The arguments to the functor. |