34 using lib::test::showSizeof;
49 template<
typename SIG>
58 template<
typename SIG>
62 , typename _Tup<SIG>::Ty
65 using ATuple =
typename _Tup<SIG>::Ty;
66 using RetType =
typename _Tup<SIG>::Ret;
71 bindArg (ATuple
const& tuple)
73 static_cast<ATuple&
> (*this) = tuple;
98 TestClass<void()> testVoid;
99 TestClass<int(TimeVar,int)> testTime;
102 testTime.bind(randTime(),23);
104 cout << showSizeof(testVoid) << endl;
105 cout << showSizeof(testTime) << endl;
107 cout << std::get<0> (testTime) << endl;
108 CHECK (23 == std::get<1> (testTime));
a mutable time value, behaving like a plain number, allowing copy and re-accessing ...
Helper Template for Steam-Layer control::Command : mix in a bind(...) function.
typename BuildTupleType< TYPES >::Type Tuple
Build a std::tuple from types given as type sequence.
Mixin-templates providing arbitrary function call operators and argument binding functions.
Steam-Layer implementation namespace root.
Metaprogramming with tuples-of-types and the std::tuple record.
Metaprogramming tools for transforming functor types.
Simplistic test class runner.
A collection of frequently used helper functions to support unit testing.
lib::time::Time randTime()
create a random but not insane Time value between 1s ...