![]() |
Lumiera 0.pre.04
»edit your freedom«
|
Definition at line 50 of file lazy-init-test.cpp.
Classes | |
| struct | LazyDemo |
| elaborate setup used for integration test More... | |
Private Member Functions | |
| void | run (Arg) |
| void | verify_trojanLambda () |
| void | verify_inlineStorage () |
| void | verify_TargetRelocation () |
| void | verify_triggerMechanism () |
| void | verify_lazyInitialisation () |
| void | verify_complexUsageWithCopy () |
|
inlineprivate |
Definition at line 55 of file lazy-init-test.cpp.
References LazyInit_test::verify_complexUsageWithCopy(), LazyInit_test::verify_inlineStorage(), LazyInit_test::verify_lazyInitialisation(), LazyInit_test::verify_TargetRelocation(), LazyInit_test::verify_triggerMechanism(), and LazyInit_test::verify_trojanLambda().
Here is the call graph for this function:
|
inlineprivate |
retrieves a reference to a target functor, and finally invokes this with actual arguments.
Definition at line 79 of file lazy-init-test.cpp.
References TrojanFun< SIG >::generateTrap(), and lib::rani().
Referenced by LazyInit_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Libstdc++ is known to be rather restrictive, while other implementations trade increased storage size of std::function against more optimisation possibilities. LazyInit exploits this optimisation to „spy“ about the current object location, allowing to execute the lazy initialisation on first use, without further help by client code. This trickery seems to be the only way, since λ-capture by reference is broken after copying or moving the host object (typically required for DSL use). In case this turns out to be fragile, LazyInit should become a "LateInit" and needs help by the client or the user to trigger initialisation; alternatively the DSL could be split off into a separate builder object distinct from RandomDraw. Definition at line 152 of file lazy-init-test.cpp.
References util::isCloseBy().
Referenced by LazyInit_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 185 of file lazy-init-test.cpp.
References lib::rani().
Referenced by LazyInit_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 232 of file lazy-init-test.cpp.
References lib::rani().
Referenced by LazyInit_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 281 of file lazy-init-test.cpp.
References lib::rani().
Referenced by LazyInit_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 386 of file lazy-init-test.cpp.
References LazyInit_test::LazyDemo::attach(), LazyInit_test::LazyDemo::fun, LazyInit< PAR >::isInit(), LazyInit_test::LazyDemo::seed, and VERIFY_ERROR.
Referenced by LazyInit_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
Inheritance diagram for LazyInit_test:
Collaboration diagram for LazyInit_test: