std::unique_lock<Mutex>::try_lock
From cppreference.com
                    
                                        
                    < cpp | thread | unique lock
                    
                                                            
                    |   bool try_lock();  | 
(since C++11) | |
Tries to lock the associated mutex without blocking. Effectively calls mutex()->try_lock().
std::system_error is thrown if there is no associated mutex or if the mutex is already locked by this std::unique_lock.
Parameters
(none)
Return value
true if the ownership of the mutex has been acquired successfully, false otherwise.
Exceptions
-  Any exceptions thrown by mutex()->try_lock() (Mutex types do not throw in 
try_lock, but a custom Lockable might) 
- If there is no associated mutex, std::system_error with an error code of std::errc::operation_not_permitted
 
-  If the mutex is already locked by this 
std::unique_lock, std::system_error with an error code of std::errc::resource_deadlock_would_occur 
Example
| This section is incomplete Reason: no example  | 
See also
|    locks the associated mutex  (public member function)  | |
|    attempts to lock the associated TimedLockable mutex, returns if the mutex has been unavailable for the specified time duration  (public member function)  | |
|    tries to lock the associated TimedLockable mutex, returns if the mutex has been unavailable until specified time point has been reached   (public member function)  | |
|    unlocks the associated mutex   (public member function)  |