cpp/thread/shared timed mutex/try lock shared until

Tries to lock the mutex in shared mode. Blocks until specified has been reached or the lock is acquired, whichever comes first. On successful lock acquisition returns, otherwise returns.

If has already passed, this function behaves like try_lock_shared.

As with try_lock_shared, this function is allowed to fail spuriously and return even if the mutex was not locked by any other thread at some point before.

Prior unlock operation on the same mutex synchronizes-with (as defined in std) this operation if it returns.

If is called by a thread that already owns the  in any mode (shared or exclusive), the behavior is undefined.

Return value
if the shared lock ownership was acquired successfully, otherwise.

Exceptions
Any exception thrown by clock, time_point, or duration during the execution (clocks, time points, and durations provided by the standard library never throw)