template <typename T, typename Duration, typename TimePoint>
rll::shared_timed_lockable concept

Shared timed lockable concept.

Template parameters
T Type to check.
Duration Duration type.
TimePoint Time point type.

The SharedTimedLockable requirements describe the characteristics of types that provide timed shared blocking semantics for execution agents (threads, processes, tasks).

For type to be shared timed lockable, it must meet the following requirements:

  • Satisfies the SharedLockable requirements
  • Provide a try_lock_shared_for method: Blocks for the provided duration rel_time or until a lock on m is acquired. Returns true if a lock is acquired, false otherwise.
  • Provide a try_lock_shared_until method: Blocks until the provided time_point or until a lock on m is acquired. Returns true if a lock is acquired, false otherwise.