8#ifndef INCLUDED_BSLMT_LATCH
9#define INCLUDED_BSLMT_LATCH
321#include <bslscm_version.h>
331#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
334#include <bsl_chrono.h>
383 explicit Latch(
int count,
387#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
396 Latch(
int count,
const bsl::chrono::system_clock&);
406 Latch(
int count,
const bsl::chrono::steady_clock&);
465#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
476 template <
class CLOCK,
class DURATION>
477 int timedWait(
const bsl::chrono::time_point<CLOCK, DURATION>& absTime);
529#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
531Latch::Latch(
int count,
const bsl::chrono::system_clock&)
533, d_cond(
bsls::SystemClockType::e_REALTIME)
540Latch::Latch(
int count,
const bsl::chrono::steady_clock&)
542, d_cond(
bsls::SystemClockType::e_MONOTONIC)
549template <
class CLOCK,
class DURATION>
551int Latch::timedWait(
const bsl::chrono::time_point<CLOCK, DURATION>& absTime)
553 return bslmt::ChronoUtil::timedWait(
this, absTime);
Definition bslmt_condition.h:220
bsls::SystemClockType::Enum clockType() const
Return the clock type used for timeouts.
Definition bslmt_condition.h:439
@ e_TIMED_OUT
Definition bslmt_condition.h:235
Definition bslmt_latch.h:349
void countDown(int numEvents)
@ e_TIMED_OUT
Definition bslmt_latch.h:370
bsls::SystemClockType::Enum clockType() const
Return the clock type used for timeouts.
Definition bslmt_latch.h:559
int timedWait(const bsls::TimeInterval &absTime)
Definition bslmt_mutex.h:317
Definition bsls_atomic.h:744
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