27 #ifndef CONTROL_COMMAND_OP_CLOSURE_H 28 #define CONTROL_COMMAND_OP_CLOSURE_H 78 TY & element() {
return std::get<idx> (*this); }
79 TY
const& element()
const {
return std::get<idx> (*this); }
90 dump (ostream& output)
const 92 return BASE::dump (output << element() <<
',');
96 template<
class TUP, u
int n>
115 dump (ostream& output)
const 127 template<
typename SIG>
135 ParamStorageTuple params_;
179 apply_this_arguments (unboundFunctor.getFun<SIG>());
184 operator string()
const 186 std::ostringstream buff;
187 params_.dump (buff <<
"OpClosure(" );
189 string dumped (buff.str());
190 if (10 < dumped.length())
192 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.