C++ named requirements: SharedTimedLockable (since C++14)
Min standard notice:
The SharedTimedLockable requirements describe the characteristics of types that provide timed shared blocking semantics for execution agents (threads, processes, tasks).
# Notes
The try_lock_shared_for and try_lock_shared_until member functions obtain a shared lock on m on success.