10#include <userver/engine/deadline.hpp> 
   11#include <userver/engine/impl/wait_list_fwd.hpp> 
   13USERVER_NAMESPACE_BEGIN
 
   33  Mutex(
const Mutex&) = 
delete;
 
   34  Mutex(Mutex&&) = 
delete;
 
   35  Mutex& operator=(
const Mutex&) = 
delete;
 
   36  Mutex& operator=(Mutex&&) = 
delete;
 
   68  template <
typename Rep, 
typename Period>
 
   69  [[nodiscard]] 
bool try_lock_for(
const std::chrono::duration<Rep, Period>&);
 
   80  template <
typename Clock, 
typename Duration>
 
   82      const std::chrono::time_point<Clock, Duration>&);
 
   90  utils::FastPimpl<Impl, 96, 
alignof(
void*)> impl_;
 
   93template <
typename Rep, 
typename Period>
 
   94bool Mutex::
try_lock_for(
const std::chrono::duration<Rep, Period>& duration) {
 
   95  return try_lock_until(Deadline::FromDuration(duration));
 
   98template <
typename Clock, 
typename Duration>
 
  100    const std::chrono::time_point<Clock, Duration>& until) {
 
  101  return try_lock_until(Deadline::FromTimePoint(until));