Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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

_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.

_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(), and LumieraEnvironment::Configure().

+ Here is the caller graph for this function:

_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:

_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:

_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:

_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:

_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: