Lumiera  0.pre.03
»edit your freedom«
DiagnosticContext_test::TestThread Struct Reference

Description

Build a call stack within separate thread and capture diagnostics.

The actual test operation produces a descending number sequence, and only odd values will be captured into the diagnostic stack-

Definition at line 183 of file diagnostic-context-test.cpp.

Additional Inherited Members

- Public Member Functions inherited from ThreadJoinable< RES >
lib::Result< RES > join ()
 put the caller into a blocking wait until this thread has terminated More...
 
- Public Member Functions inherited from ThreadLifecycle< thread::PolicyResultJoin, RES >
 ThreadLifecycle (Launch launcher)
 Primary constructor: Launch the new thread with flexible configuration. More...
 
 ThreadLifecycle (string const &threadID, FUN &&threadFunction, ARGS &&...args)
 Create a new thread to execute the given operation. More...
 
 ThreadLifecycle (RES(SUB::*memFun)(ARGS...), ARGS ...args)
 Special variant to bind a subclass member function as thread operation. More...
 
 operator bool () const
 Is this thread »active« and thus tied to OS resources? More...
 
- Static Public Member Functions inherited from ThreadLifecycle< thread::PolicyResultJoin, RES >
static auto buildInvocation (W &wrapper, tuple< INVO... > &&invocation)
 Build the invocation tuple, using #invokeThreadFunction to delegate to the user-provided functor and arguments.
 
static auto buildLauncher (INVO &&...args)
 Build a λ actually to launch the given thread operation later, after the thread-wrapper-object is fully initialised. More...
 
- Protected Member Functions inherited from ThreadLifecycle< thread::PolicyResultJoin, RES >
 ThreadLifecycle ()
 derived classes may create a disabled thread
 
- Protected Member Functions inherited from PolicyResultJoin< ThreadWrapper, RES >
void handle_after_thread ()
 
void handle_loose_thread ()
 
void perform_thread_function (FUN &&callable, ARGS &&...args)
 
- Protected Member Functions inherited from ThreadWrapper
 ThreadWrapper ()
 
 ThreadWrapper (string const &threadID)
 
void detach_thread_from_wrapper ()
 allow to detach explicitly — independent from thread-function's state. More...
 
void handle_after_thread ()
 called immediately before end of thread
 
void handle_begin_thread ()
 called immediately at start of thread
 
void handle_loose_thread ()
 called when destroying wrapper on still running thread
 
bool invokedWithinThread () const
 detect if the currently executing code runs within this thread More...
 
bool isLive () const
 
template<class... INVO>
void launchThread (tuple< INVO... > &&invocation)
 
void markThreadEnd ()
 
void markThreadStart ()
 
void setThreadName ()
 
void waitGracePeriod () noexcept
 
- Protected Member Functions inherited from MoveOnly
 MoveOnly (MoveOnly &&)=default
 
 MoveOnly (MoveOnly const &)=delete
 
MoveOnlyoperator= (MoveOnly &&)=delete
 
MoveOnlyoperator= (MoveOnly const &)=delete
 
- Static Protected Member Functions inherited from ThreadWrapper
static string decorate_with_global_count (string const &)
 Helper to create a suffix to the thread-ID with running count.
 
- Protected Attributes inherited from PolicyResultJoin< ThreadWrapper, RES >
lib::Result< RES > result_
 Wrapper to capture a success/failure indicator and possibly a computation result.
 
- Protected Attributes inherited from ThreadWrapper
const string threadID_
 
std::thread threadImpl_
 
+ Inheritance diagram for DiagnosticContext_test::TestThread:
+ Collaboration diagram for DiagnosticContext_test::TestThread:

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