47 ATTRIB2(
"β", int64_t(2)),
53 CHILD_T(
Time(12,34,56,78)),
56 GAMMA_PI(
"γ", 3.14159265);
60 using LERR_(DIFF_CONFLICT);
87 return snapshot({ins(ATTRIB1)
112 return snapshot({after(CHILD_B)
160 struct HappyBlackHole
162 bool diligent =
true;
173 .ignoreAllChanges());
177 HappyBlackHole subject;
184 subject.diligent =
false;
213 .change(
"γ", [&](
double val) { loot = val; }));
220 const auto NOTHING = 0.0;
221 const auto VAL_1 = ATTRIB3.
data.
get<
double>();
222 const auto VAL_2 = GAMMA_PI.
data.
get<
double>();
224 CHECK (subject.loot == NOTHING);
227 CHECK (subject.loot == VAL_1);
230 CHECK (subject.loot == VAL_1);
233 CHECK (subject.loot == VAL_2);
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
SUB & emplace(SUB &&implementation)
move-construct an instance of a subclass into the opaque buffer
generic builder to apply a diff description to a given target data structure.
void consume(DIFF &&diff)
Customisable intermediary to abstract mutating operations on arbitrary, hierarchical object-like data...
iter_stl::IterSnapshot< DiffStep > DiffSeq
materialised iterator contents.
Lumiera's internal time value datatype.
ContentSnapshot< CON > snapshot(CON const &con)
Take a snapshot of the given STL compliant container.
Implementation namespace for support and library code.
Test runner and basic definitions for tests.
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
generic data element node within a tree
static const Ref END
symbolic ID ref "_END_"
static const Ref ATTRIBS
symbolic ID ref "_ATTRIBS_"
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.
Diagnostic helper for unit tests regarding mutation of custom data.
Concrete implementation to apply structural changes to hierarchical data structures.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...