Lumiera  0.pre.03
»edit your freedom«
LateBindInstance_test Class Reference

Description

Test:
verify a scheme to supply the actual instance for member function invocation.
Remarks
in the end this is just a value replacement in a tuple, where the position is marked with a placeholder type. This scheme is used for starting threads, where the actual thread instance is not known yet at the point where the arguments for the thread-function are constructed
See also
lib::launchDetached

Definition at line 55 of file late-bind-instance-test.cpp.

Private Member Functions

void demonstrateUsage ()
 
void run (Arg)
 
uint theMember (uint limit)
 
void verify_cornerCases ()
 
void verify_forwarding ()
 

Member Function Documentation

◆ demonstrateUsage()

void demonstrateUsage ( )
inlineprivate
Test:
demonstrate the usage of lib::meta::lateBindInstance():
  • construct an argument tuple
  • mark the position of the this-ptr with a placeholder
  • rewrite the arguments later when the actual instance is known
  • member function can now be invoked, since the instance was injected.

Definition at line 75 of file late-bind-instance-test.cpp.

References lib::meta::lateBindInstance(), and lib::rani().

+ Here is the call graph for this function:

◆ verify_forwarding()

void verify_forwarding ( )
inlineprivate
Test:
verify that the rewriting process does not incur unnecessary data copies

Definition at line 105 of file late-bind-instance-test.cpp.

◆ verify_cornerCases()

void verify_cornerCases ( )
inlineprivate
Test:
replacement happens uniformly on all kinds of tuples

Definition at line 159 of file late-bind-instance-test.cpp.

References lib::meta::dump(), and lib::meta::lateBindInstance().

+ Here is the call graph for this function:
+ Inheritance diagram for LateBindInstance_test:
+ Collaboration diagram for LateBindInstance_test:

The documentation for this class was generated from the following file: