8#ifndef INCLUDED_BSLMT_CONDITION
9#define INCLUDED_BSLMT_CONDITION
188#include <bslscm_version.h>
199#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
202#include <bsl_chrono.h>
208template <
class THREAD_POLICY>
250#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
258 Condition(
const bsl::chrono::system_clock&);
267 Condition(
const bsl::chrono::steady_clock&);
307#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
329 template <
class CLOCK,
class DURATION>
331 const bsl::chrono::time_point<CLOCK, DURATION>& absTime);
368#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
370Condition::Condition(
const bsl::chrono::system_clock&)
371: d_imp(
bsls::SystemClockType::e_REALTIME)
376Condition::Condition(
const bsl::chrono::steady_clock&)
377: d_imp(
bsls::SystemClockType::e_MONOTONIC)
406 return d_imp.timedWait(mutex, absTime);
409#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
410template <
class CLOCK,
class DURATION>
414 const bsl::chrono::time_point<CLOCK, DURATION>& absTime)
427 return d_imp.wait(mutex);
434 return d_imp.clockType();
Definition bslmt_condition.h:209
Definition bslmt_condition.h:220
int timedWait(Mutex *mutex, const bsls::TimeInterval &absTime)
Definition bslmt_condition.h:401
int wait(Mutex *mutex)
Definition bslmt_condition.h:423
void signal()
Definition bslmt_condition.h:395
@ e_TIMED_OUT
Definition bslmt_condition.h:234
bsls::SystemClockType::Enum clockType() const
Return the clock type used for timeouts.
Definition bslmt_condition.h:432
void broadcast()
Definition bslmt_condition.h:389
~Condition()
Destroy this condition variable object.
Definition bslmt_condition.h:383
Definition bslmt_mutex.h:315
Definition bsls_timeinterval.h:301
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bslmt_barrier.h:344
Definition bdlt_iso8601util.h:691
static int timedWait(PRIMITIVE *primitive, const bsl::chrono::time_point< CLOCK, DURATION > &absTime)
Definition bslmt_chronoutil.h:345
Enum
Definition bsls_systemclocktype.h:117
@ e_REALTIME
Definition bsls_systemclocktype.h:120