48#ifndef CONTROL_ARGUMENT_TUPLE_ACCEPT_H
49#define CONTROL_ARGUMENT_TUPLE_ACCEPT_H
67 using std::make_tuple;
71 template<
class TAR,
class BA,
class RET
76 template<
class TAR,
class BA,
class RET,
typename...ARGS>
83 return static_cast<TAR*
> (
this) -> bindArg (make_tuple (std::move(
args) ...));
90 template<
class TAR,
class BA,
class RET
95 template<
class TAR,
class BA,
class RET,
typename...ARGS>
102 return static_cast<TAR*
> (
this) -> bindArg (make_tuple (std::move(
args)...));
112 template<
class TAR,
class BA,
class RET>
120 return static_cast<TAR*
> (
this) -> bindArg (std::tuple<>());
127 template<
typename...ARGS>
131 return static_cast<TAR*
> (
this) -> bindArg (make_tuple (std::forward<ARGS> (
args)...));
141 template<
typename SIG>
150 template<
typename...TYPES>
173 template<
typename SIG,
class TAR,
class BASE =bind_arg::Dummy>
176 , typename bind_arg::_Type<SIG>::Args>
185 template<
typename SIG,
class TAR,
class BASE =bind_arg::Dummy>
188 , typename bind_arg::_Type<SIG>::Args>
195 template<
typename RET,
typename SIG,
class TAR,
class BASE =bind_arg::Dummy>
198 , typename bind_arg::_Type<SIG>::Args>
Helper Template for control::Command, mix-in complete set of bind(...) functions.
Variation of AcceptArgumentBinding, allowing to control the return type of the generated bind(....
Helper Template for Steam-Layer control::Command : mix in a bind(...) function.
Helper Template for building a Functor or function-like class: Mix in a function call operator,...
Metaprogramming tools for detecting and transforming function types.
Types< TYPES... >::Seq Args
BuildFunType< void, Args >::Sig Sig
std::tuple< TYPES... > ArgTuple
Steam-Layer implementation namespace root.
RET bind()
Accept dummy binding (0 Arg)
RET bind(ARGS &&...args)
mix in bind function to create binding of arbitrary arguments
Metaprogramming with tuples-of-types and the std::tuple record.
A template metaprogramming technique for manipulating collections of types.