bool try_lock_for(util::steady_duration const& rel_time, char const* description, error_code& ec = throws) { return try_lock_until(rel_time.from_now(), description, ec); }
bool try_lock_until(util::steady_time_point const& abs_time, error_code& ec = throws) { return try_lock_until(abs_time, "mutex::try_lock_until", ec); }
bool spin_lock::try_lock_for( const fc::microseconds& us ) { return try_lock_until( fc::time_point::now() + us ); }
bool try_lock_for( const DurationType& rel_time ) { return try_lock_until( boost::chrono::system_clock::now() + rel_time ); }
bool try_lock_for( chrono::duration< Rep, Period > const& timeout_duration) { return try_lock_until( clock_type::now() + timeout_duration); }
bool try_lock_until(chrono::time_point<Clock, Duration> const & abs_time) { return try_lock_until(time_point_cast<Clock::time_point>(abs_time)); }