42 using control::CmdClosure;
43 using LERR_(MISSING_MEMENTO);
44 using LERR_(UNBOUND_ARGUMENTS);
106 cout <<
"empty placeholder closure: " <<
nullClosure << endl;
110 std::tuple<int> param = std::make_tuple(23);
116 cout <<
"param values: " <<
closure << endl;
120 CHECK (testVal == 23);
122 CHECK (testVal == 2*23);
167 CHECK (testVal == 11);
170 cout <<
"saved state: " << mem << endl;
173 CHECK (testVal == 11 + 11);
175 CHECK (testVal == 11 + 11 + 11);
179 CHECK (testVal == 33 + 33);
182 CHECK (testVal == 42);
Binding together state capturing and execution of the undo operation.
Unspecific command functor for implementing Steam-Layer Command.
Dummy / proof-of-concept implementation of CmdClosure.
Specialised version of the command Mutation functor, used to implement the UNDO functionality.
Verify the behaviour of the type erased closure, which is used by Steam-Layer commands to implement t...
void checkStateCapturingMechanism()
Core of a Steam-Layer command: functor containing the operation to be executed.
Proof-of-concept implementation of CmdClosure.
A special binding used by Steam-Layer commands for capturing UNDO state information.
int testVal
used to verify the effect of testFunc
Steam-Layer implementation namespace root.
Test runner and basic definitions for tests.
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
A collection of frequently used helper functions to support unit testing.
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT)
Macro to verify that a statement indeed raises an exception.
Metaprogramming with tuples-of-types and the std::tuple record.
A template metaprogramming technique for manipulating collections of types.