43 using lib::test::showSizeof;
58 template<
typename SIG>
67 template<
typename SIG>
71 , typename _Tup<SIG>::Ty
74 using ATuple =
typename _Tup<SIG>::Ty;
75 using RetType =
typename _Tup<SIG>::Ret;
80 bindArg (ATuple
const& tuple)
82 static_cast<ATuple&
> (*this) = tuple;
107 TestClass<void()> testVoid;
108 TestClass<int(TimeVar,int)> testTime;
111 testTime.bind(randTime(),23);
113 cout << showSizeof(testVoid) << endl;
114 cout << showSizeof(testTime) << endl;
116 cout << std::get<0> (testTime) << endl;
117 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.
Simple 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 ...