#include <bslmt_chronoutil.h>
|
template<class REP_TYPE , class PERIOD_TYPE > |
static bsls::TimeInterval | durationToTimeInterval (const bsl::chrono::duration< REP_TYPE, PERIOD_TYPE > &duration) |
|
template<class CLOCK > |
static bool | isMatchingClock (bsls::SystemClockType::Enum clockType) |
|
template<class PRIMITIVE , class CLOCK , class DURATION > |
static int | timedWait (PRIMITIVE *primitive, const bsl::chrono::time_point< CLOCK, DURATION > &absTime) |
|
template<class PRIMITIVE , class ARG_TYPE , class CLOCK , class DURATION > |
static int | timedWait (PRIMITIVE *primitive, ARG_TYPE *argument, const bsl::chrono::time_point< CLOCK, DURATION > &absTime) |
|
This struct
provides a namespace for utility functions that operate on bsl::chrono
facilities.
◆ durationToTimeInterval()
template<class REP_TYPE , class PERIOD_TYPE >
bsls::TimeInterval bslmt::ChronoUtil::durationToTimeInterval |
( |
const bsl::chrono::duration< REP_TYPE, PERIOD_TYPE > & |
duration | ) |
|
|
inlinestatic |
Return a bsls::TimeInterval
having the value represented by the specified duration
. Unlike the implicit conversion defined from duration defined in bsls::TimeInterval
, this conversion handles floating-point-based durations as well as integral ones.
◆ isMatchingClock()
Return true
if the specified (template parameter) type CLOCK
matches the specified clockType
, and false
otherwise.
◆ timedWait() [1/2]
template<class PRIMITIVE , class ARG_TYPE , class CLOCK , class DURATION >
int bslmt::ChronoUtil::timedWait |
( |
PRIMITIVE * |
primitive, |
|
|
ARG_TYPE * |
argument, |
|
|
const bsl::chrono::time_point< CLOCK, DURATION > & |
absTime |
|
) |
| |
|
static |
Block on the specified primitive
object of the (template parameter) PRIMITIVE
type by calling its timedWait
method, passing the specified argument
of the (template parameter) ARG_TYPE
and a timeout calculated from the specified absTime
. absTime
is an absolute time represented by a time point with respect to some epoch, which is determined by the clock associated with the time point. Return 0 on success, PRIMITIVE::e_TIMED_OUT
if the absTime
timeout expired, and other return values on error. The timedWait
method of primitive
is called only once if the clock type specified by the (template parameter) type CLOCK
corresponds to the clock used by primitive
, and may be called more than once otherwise. Note that error codes returned from this method, necessarily distinct from 0 and PRIMITIVE::e_TIMED_OUT
, are defined by PRIMITIVE
.
◆ timedWait() [2/2]
template<class PRIMITIVE , class CLOCK , class DURATION >
int bslmt::ChronoUtil::timedWait |
( |
PRIMITIVE * |
primitive, |
|
|
const bsl::chrono::time_point< CLOCK, DURATION > & |
absTime |
|
) |
| |
|
static |
Block on the specified primitive
object of the (template parameter) PRIMITIVE
type by calling its timedWait
method, passing a timeout calculated from the specified absTime
. absTime
is an absolute time represented by a time point with respect to some epoch, which is determined by the clock associated with the time point. Return 0 on success, PRIMITIVE::e_TIMED_OUT
if the absTime
timeout expired, and other return values on error. The timedWait
method of primitive
is called only once if the clock type specified by the (template parameter) type CLOCK
corresponds to the clock used by primitive
, and may be called more than once otherwise. Note that error codes returned from this method, necessarily distinct from 0 and PRIMITIVE::e_TIMED_OUT
, are defined by PRIMITIVE
.
The documentation for this struct was generated from the following file: