This class implements a guard for work completion within a specified duration.

Synopsis

Declared in <bslmt_timedcompletionguard.h>

class TimedCompletionGuard;

Type Aliases

Name

Description

Handler

Handler is an alias for a pointer to a function returning void, and taking, as a parameter, a null‐terminated string, which is the structure of the handler function supported by this class ‐‐ e.g., ` void myHandler(const char *text); `

allocator_type

Alias indicating this type is allocator‐aware.

Member Functions

Name

Description

TimedCompletionGuard [constructor]

Constructors

~TimedCompletionGuard [destructor]

Invoke release and destroy this guard.

get_allocator

Return the allocator used to supply memory.

guard

Configure a thread to, at the expiration of the specified duration, invoke the handler assigned at object creation with the specified text, unless the release method is invoked or this guard is rescheduled with a subsequent call to guard. Return 0 on success, and a non‐zero value if a thread is not available and could not be created. The behavior is undefined unless duration is a positive value.

isGuarding

Return true if this guard is currently configured with a duration to guard, and false otherwise.

release

If a thread is waiting to alert at expiration of the set duration, join the thread, thus preventing any alerting.

updateText

Use the specified text for alerting when the current duration expires. Return 0 on success, and a non‐zero value if false == isGuarding().

Static Member Functions

Name

Description

failByAbort [noreturn]

(Default Handler) Emulate the invocation of the standard assert macro with a false argument, using the expression text to generate a helpful output message and then, after logging, unconditionally aborting. Note that this handler function is the default installed assertion handler.

Created with MrDocs