49 using LERR_(WRONG_TYPE);
78 verify_errorHandling();
88 Rec args = MakeRec().scope(
"lalü", 42);
89 Rec urgs = MakeRec().scope(
"lalü",
"lala", 12, 34, 5.6,
Time(7,8,9));
94 cout << buildTuple<NiceTypes> (args) <<endl;
95 cout << buildTuple<UgglyTypes> (urgs) <<endl;
100 verify_errorHandling()
102 Rec args = MakeRec().scope(
"surprise", 42);
112 VERIFY_ERROR (WRONG_TYPE, buildTuple<Narrowing> (args));
115 Rec timeArg = MakeRec().scope(
Time(1,2,3,4));
119 CHECK (std::get<string> (tup) ==
"4:03:02.001");
120 CHECK (
string(
Time(1,2,3,4)) ==
"4:03:02.001");
124 Rec hashArg = MakeRec().scope(
"random",
LuidH());
127 VERIFY_ERROR (WRONG_TYPE, buildTuple<Narrowing> (args));
130 VERIFY_ERROR (WRONG_TYPE, (buildTuple<ToSizeT> (args)));
136 Dummy (
LuidH const& luid)
144 VERIFY_ERROR (WRONG_TYPE, buildTuple<WithDummy> (args));
146 HashVal h = get<Dummy>(tup2).hash;
147 CHECK (h == hashArg.child(1).data.get<
LuidH>());
a mutable time value, behaving like a plain number, allowing copy and re-accessing ...
typename BuildTupleType< TYPES >::Type Tuple
Build a std::tuple from types given as type sequence.
typed symbolic and hash ID for asset-like position accounting.
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT)
Macro to verify that a statement indeed raises an exception.
Tuple< TYPES > buildTuple(SRC values)
convenience shortcut to build a tuple from some suitable source data.
Implementation namespace for support and library code.
Lumiera's internal time value datatype.
Token or Atom with distinct identity.
Specialised adapter to consume a record of GenNode entries to build a tuple.
Simplistic test class runner.
A collection of frequently used helper functions to support unit testing.
Hash implementation based on a lumiera unique object id (LUID) When invoking the default ctor...
size_t HashVal
a STL compatible hash value
Duration is the internal Lumiera time metric.
a family of time value like entities and their relationships.
object-like record of data.
generic data element node within a tree