58 using LERR_(WRONG_TYPE);
87 verify_errorHandling();
97 Rec args = MakeRec().scope(
"lalü", 42);
98 Rec urgs = MakeRec().scope(
"lalü",
"lala", 12, 34, 5.6,
Time(7,8,9));
103 cout << buildTuple<NiceTypes> (args) <<endl;
104 cout << buildTuple<UgglyTypes> (urgs) <<endl;
109 verify_errorHandling()
111 Rec args = MakeRec().scope(
"surprise", 42);
121 VERIFY_ERROR (WRONG_TYPE, buildTuple<Narrowing> (args));
124 Rec timeArg = MakeRec().scope(
Time(1,2,3,4));
128 CHECK (std::get<string> (tup) ==
"4:03:02.001");
129 CHECK (
string(
Time(1,2,3,4)) ==
"4:03:02.001");
133 Rec hashArg = MakeRec().scope(
"random",
LuidH());
136 VERIFY_ERROR (WRONG_TYPE, buildTuple<Narrowing> (args));
139 VERIFY_ERROR (WRONG_TYPE, (buildTuple<ToSizeT> (args)));
145 Dummy (
LuidH const& luid)
153 VERIFY_ERROR (WRONG_TYPE, buildTuple<WithDummy> (args));
155 HashVal h = get<Dummy>(tup2).hash;
156 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.
Simple 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