std::shared_lock<Mutex>::owns_lock
From cppreference.com
                    
                                        
                    < cpp | thread | shared lock
                    
                                                            
                    |   bool owns_lock() const noexcept;  | 
(since C++14) | |
Checks whether *this owns a locked mutex or not.
Parameters
(none)
Return value
true if *this has an associated mutex and has acquired shared ownership of it, false otherwise.
See also
|   tests whether the lock owns its associated mutex  (public member function)  |