54 Interface& operator= (
Interface const& o) { cout <<
"COPY= from "<<&o<<
" !!!\n";
return *
this; }
55 Interface& operator= (
Interface const&& o) { cout <<
"MOVE= from "<<&o<<
" !!!\n";
return *
this; }
66 Impl(
string ss =
"ZOMG") : s_(ss) { }
105 double d = makeRvalue();
112 cout <<
"--value--\n" << showVariadicTypes<double>(d) <<
"\n";
113 cout <<
"--reference--\n" << showVariadicTypes<double&>(d) <<
"\n";
114 cout <<
"--move--\n" << showVariadicTypes<double&&>(d) <<
"\n";
116 forwardFunction(
"two values",
"foo", 42L);
117 forwardFunction(
"matched", d,dr,std::move(dr));
119 forwardFunction<Interface const&>(
"baseclass", ref);
126 template<
typename... ARGS>
132 cout <<
"--"<<
id<<
"--\n"
string showVariadicTypes()
helper for investigating a variadic argument pack
Implementation namespace for support and library code.
Target object to be instantiated as Singleton Allocates a variable amount of additional heap memory a...
Simple test class runner.
A collection of frequently used helper functions to support unit testing.
void forwardFunction(string id, ARGS &&... args)
this dummy simulates a typical variadic call which takes all arguments as '&&' for the purpose of "pe...