Lumiera  0.pre.03
»edityourfreedom«
lib::meta::func Namespace Reference

Namespaces

 _composed
 

Classes

class  BindToArgument
 Bind a specific argument to an arbitrary value. More...
 
class  FunctionClosure
 Closing a function over its arguments. More...
 
class  FunctionComposition
 Functional composition. More...
 
class  PApply
 Partial function application Takes a function and a value tuple, using the latter to close function arguments either from the front (left) or aligned to the end of the function argument list. More...
 
class  TupleApplicator
 Closure-creating template. More...
 

Functions

template<typename SIG , typename... ARG>
_Fun< SIG >::Ret apply (SIG &f, std::tuple< ARG... > &args)
 apply the given function to the argument tuple More...
 
template<typename SIG , typename ARG >
_PapS< SIG >::Function applyFirst (SIG &f, ARG arg)
 close the given function over the first argument More...
 
template<typename SIG , typename ARG >
_PapE< SIG >::Function applyLast (SIG &f, ARG arg)
 close the given function over the last argument More...
 
template<typename SIG , typename TERM >
_PapE< SIG >::Function bindLast (SIG &f, TERM const &arg)
 bind the last function argument to an arbitrary term, which especially might be a (nested) binder... More...
 
template<typename SIG1 , typename SIG2 >
_Chain< SIG1, SIG2 >::Function chained (SIG1 &f1, SIG2 &f2)
 build a functor chaining the given functions More...
 
template<typename SIG , typename... ARG>
_Clo< SIG, Types< ARG... > >::Type closure (SIG &f, std::tuple< ARG... > &args)
 close the given function over all arguments, using the values from the argument tuple. More...
 
template<typename... ARG>
_Sig< void, Types< ARG... > >::Applicator tupleApplicator (std::tuple< ARG... > &args)
 build a TupleApplicator, which embodies the given argument tuple and can be used to apply them to various functions repeatedly. More...
 

Function Documentation

◆ tupleApplicator()

_Sig<void, Types<ARG...> >::Applicator lib::meta::func::tupleApplicator ( std::tuple< ARG... > &  args)
inline

build a TupleApplicator, which embodies the given argument tuple and can be used to apply them to various functions repeatedly.

Definition at line 874 of file function-closure.hpp.

◆ apply()

_Fun<SIG>::Ret lib::meta::func::apply ( SIG &  f,
std::tuple< ARG... > &  args 
)
inline

apply the given function to the argument tuple

Definition at line 885 of file function-closure.hpp.

Referenced by FunctionClosure_test::check_applyFree(), FunctionClosure_test::check_applyFunc(), LumieraEnvironment::Configure(), and Visitable<>::dispatchOp().

+ Here is the caller graph for this function:

◆ closure()

_Clo<SIG,Types<ARG...> >::Type lib::meta::func::closure ( SIG &  f,
std::tuple< ARG... > &  args 
)
inline

close the given function over all arguments, using the values from the argument tuple.

Returns
a closure object, which can be invoked later to yield the function result.

Definition at line 900 of file function-closure.hpp.

Referenced by FunctionClosure_test::build_closure(), CommandMutation_test::checkMutation(), and Actions::populateMainActions().

+ Here is the caller graph for this function:

◆ applyFirst()

_PapS<SIG>::Function lib::meta::func::applyFirst ( SIG &  f,
ARG  arg 
)
inline

close the given function over the first argument

Definition at line 911 of file function-closure.hpp.

References PApply< SIG, VAL >::bindFront().

Referenced by FunctionComposition_test::check_partialApplication().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ applyLast()

_PapE<SIG>::Function lib::meta::func::applyLast ( SIG &  f,
ARG  arg 
)
inline

close the given function over the last argument

Definition at line 924 of file function-closure.hpp.

References PApply< SIG, VAL >::bindBack().

Referenced by FunctionComposition_test::check_partialApplication().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bindLast()

_PapE<SIG>::Function lib::meta::func::bindLast ( SIG &  f,
TERM const &  arg 
)
inline

bind the last function argument to an arbitrary term, which especially might be a (nested) binder...

Definition at line 939 of file function-closure.hpp.

References BindToArgument< SIG, X, pos >::reduced().

Referenced by FunctionComposition_test::check_bindToArbitraryParameter(), and MementoTie< SIG, MEM >::tieUndoFunc().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ chained()

_Chain<SIG1,SIG2>::Function lib::meta::func::chained ( SIG1 &  f1,
SIG2 &  f2 
)
inline

build a functor chaining the given functions

Definition at line 953 of file function-closure.hpp.

References FunctionComposition< F1, RET >::chain().

Referenced by FunctionComposition_test::check_functionalComposition(), FunctionResult< SIG >::FunctionResult(), and MementoTie< SIG, MEM >::tieCaptureFunc().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: