Attempts to acquire a shared-ownership lock on the mutex associated with
*this
within the time specified.
template<typename Rep, typename Period> bool try_lock_for( std::chrono::duration<Rep,Period> const& relative_time);
The Mutex
type
used to instantiate std::shared_lock
must meet
the TimedLockable
requirements.
this->mutex()!=NULL
, this->owns_lock()==false
.
Calls this->mutex()->try_lock_shared_for(relative_time)
.
true
if the call to
this->mutex()->try_lock_shared_for()
returned true
, false
otherwise.
Any exceptions thrown by this->mutex()->try_lock_shared_for()
. std::system_error
with an error
code of std::errc::operation_not_permitted
if this->mutex()==NULL
. std::system_error
with an error
code of std::errc::resource_deadlock_would_occur
if this->owns_lock()==true
on entry.
If the function returns true
,
this->owns_lock()==true
, otherwise this->owns_lock()==false
.
#include <shared_mutex>