36 #ifndef CONTROL_COMMAND_OP_CLOSURE_H 37 #define CONTROL_COMMAND_OP_CLOSURE_H 87 TY & element() {
return std::get<idx> (*this); }
88 TY
const& element()
const {
return std::get<idx> (*this); }
99 dump (ostream& output)
const 101 return BASE::dump (output << element() <<
',');
105 template<
class TUP, u
int n>
124 dump (ostream& output)
const 136 template<
typename SIG>
144 ParamStorageTuple params_;
188 apply_this_arguments (unboundFunctor.getFun<SIG>());
193 operator string()
const 195 std::ostringstream buff;
196 params_.dump (buff <<
"OpClosure(" );
198 string dumped (buff.str());
199 if (10 < dumped.length())
201 return dumped.substr (0, dumped.length()-1) +
")";
Abstract foundation for building custom allocation managers.
typename BuildTupleType< TYPES >::Type Tuple
Build a std::tuple from types given as type sequence.
helpers for fail-safe invocation of comparison operations from generic code.
Implementation helper to bind Steam-Layer commands with arbitrary argument tuples.
Partial function application and building a complete function closure.
Tuple< TYPES > buildTuple(SRC values)
convenience shortcut to build a tuple from some suitable source data.
Steam-Layer implementation namespace root.
closure to deal with the actual command operation.
Metaprogramming with tuples-of-types and the std::tuple record.
Specialised adapter to consume a record of GenNode entries to build a tuple.
Metaprogramming tools for transforming functor types.
Helper for accessing an individual function parameter.
Foundation for a custom allocation manager, tracking the created objects by smart-ptrs.
A closure enabling self-contained execution of commands within the SteamDispatcher.
void invoke(CmdFunctor const &unboundFunctor)
Core operation: use the embedded argument tuple for invoking a functor.
std::string dump(std::tuple< TYPES... > const &tuple)
convenience function to dump a given tuple's contents.