Lumiera
0.pre.03
»edit your freedom«
|
Handle them like copyable value objects, without knowing the exact implementation type; moreover execute implementation internals only disclosed to the concrete subtype. Verify correctness through checksums.
Definition at line 174 of file polymorphic-value-test.cpp.
Private Member Functions | |
TestList | createOpaqueValues () |
virtual void | run (Arg) |
void | verifyBasics () |
void | verifyCopySupportDetectionMetafunctions () |
template<class PV , class IMP > | |
void | verifyCreation_and_Copy () |
void | verifyOverrunProtection () |
Static Private Member Functions | |
static void | operate (PolyVal &elm) |
|
inlineprivate |
Default is no support by these objects, which then requires to use a more expensive implementation. Sometimes it's desirable to support cloning only (copy ctor), but no assignment after the fact. In this special case, a support API with only a cloneInto()
member can be implemented, causing the PolymorphicValue container to raise an exception in case the copy operator is invoked.
Definition at line 299 of file polymorphic-value-test.cpp.