29 if constexpr (std::is_same_v<Lockable, std::mutex> || std::is_same_v<Lockable, std::shared_mutex> || std::is_same_v<Lockable, std::recursive_mutex>)
lockable.lock();
37 if constexpr (std::is_same_v<Lockable, std::mutex> || std::is_same_v<Lockable, std::shared_mutex> || std::is_same_v<Lockable, std::recursive_mutex>)
lockable.lock_shared();
45 if constexpr (std::is_same_v<Lockable, std::mutex> || std::is_same_v<Lockable, std::shared_mutex> || std::is_same_v<Lockable, std::recursive_mutex>)
lockable.try_lock();
53 if constexpr (std::is_same_v<Lockable, std::mutex> || std::is_same_v<Lockable, std::shared_mutex> || std::is_same_v<Lockable, std::recursive_mutex>)
lockable.try_lock_shared();