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>
251#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
259 Condition(
const bsl::chrono::system_clock&);
268 Condition(
const bsl::chrono::steady_clock&);
310#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
334 template <
class CLOCK,
class DURATION>
336 const bsl::chrono::time_point<CLOCK, DURATION>& absTime);
375#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
377Condition::Condition(
const bsl::chrono::system_clock&)
378: d_imp(
bsls::SystemClockType::e_REALTIME)
383Condition::Condition(
const bsl::chrono::steady_clock&)
384: d_imp(
bsls::SystemClockType::e_MONOTONIC)
413 return d_imp.timedWait(mutex, absTime);
416#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
417template <
class CLOCK,
class DURATION>
421 const bsl::chrono::time_point<CLOCK, DURATION>& absTime)
425 return ChronoUtil::timedWait(
this, mutex, absTime);
434 return d_imp.wait(mutex);
441 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:408
int wait(Mutex *mutex)
Definition bslmt_condition.h:430
void signal()
Definition bslmt_condition.h:402
bsls::SystemClockType::Enum clockType() const
Return the clock type used for timeouts.
Definition bslmt_condition.h:439
void broadcast()
Definition bslmt_condition.h:396
~Condition()
Destroy this condition variable object.
Definition bslmt_condition.h:390
@ e_TIMED_OUT
Definition bslmt_condition.h:235
Definition bslmt_mutex.h:317
Definition bsls_timeinterval.h:307
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bslmt_barrier.h:344
Definition bdlt_iso8601util.h:707
Enum
Definition bsls_systemclocktype.h:119
@ e_REALTIME
Definition bsls_systemclocktype.h:122