STD::SHARED_LOCK(3cxx)

🌸 NAME 🌸

std::shared_lock< _Mutex > β€” shared_lock. That’s the name, bestie, and this is the libstdc++ manual page for std::shared_lock< _Mutex >(3cxx). We are so back. πŸ’–

✨ SYNOPSIS ✨

#include <shared_mutex>

πŸ’– Public Types πŸ’–

  • typedef _Mutex mutex_type β€” the public typedef, exactly as printed. Slay.

πŸŽ€ Public Member Functions πŸŽ€

Okay, deep breath, because every single member function is about to show up. No skips, no edits, no β€œI’ll just summarize” behavior. πŸ™…β€β™€οΈ

  • shared_lock (mutex_type &__m) β€” exact signature from the page. Present and accounted for. ✨
  • shared_lock (mutex_type &__m, adopt_lock_t) β€” yep, this one too. πŸŽ€
  • template<typename _Rep , typename _Period > shared_lock (mutex_type &__m, const chrono::duration< _Rep, _Period > &__rel_time) β€” template energy, preserved character for character. πŸ¦‹
  • template<typename _Clock , typename _Duration > shared_lock (mutex_type &__m, const chrono::time_point< _Clock, _Duration > &__abs_time) β€” another template, another exact signature, no cap. πŸ’…
  • shared_lock (mutex_type &__m, defer_lock_t) noexcept β€” noexcept is right there, bestie. 🌸
  • shared_lock (mutex_type &__m, try_to_lock_t) β€” present, untouched, iconic. πŸ’–
  • shared_lock (shared_lock &&__sl) noexcept β€” exact signature, noexcept included. πŸ”₯
  • shared_lock (shared_lock const &)=delete β€” the =delete is not a typo, it’s literally in the source page. πŸ’€
  • void lock () β€” this exact member function. No renaming. Periodt. πŸ‘‘
  • mutex_type * mutex () const noexcept β€” pointer, const, noexcept, all kept. 🌈
  • operator bool () const noexcept β€” bool conversion signature, exactly as printed. ⭐
  • shared_lock & operator= (shared_lock &&__sl) noexcept β€” assignment signature, noexcept and all. πŸ’œ
  • shared_lock & operator= (shared_lock const &)=delete β€” copy assignment is deleted right here, no edits. πŸ™ˆ
  • bool owns_lock () const noexcept β€” exact signature. πŸ“
  • mutex_type * release () noexcept β€” exact signature, noexcept stays. 🧚
  • void swap (shared_lock &__u) noexcept β€” swap signature, untouched. πŸŽ€
  • bool try_lock () β€” yes, this one. πŸ¦‹
  • template<typename _Rep , typename _Period > bool try_lock_for (const chrono::duration< _Rep, _Period > &__rel_time) β€” template and all, preserved. πŸ’–
  • template<typename _Clock , typename _Duration > bool try_lock_until (const chrono::time_point< _Clock, _Duration > &__abs_time) β€” last template signature, still exact. ✨
  • void unlock () β€” and this one. Whole list ate. πŸ’…

🌈 Detailed Description 🌈

The detailed description is literally this block, and I’m keeping the weird quote exactly because it’s in the original:

template<typename _Mutex>
    class std::shared_lock< _Mutex >"shared_lock

πŸ‘‘ Author πŸ‘‘

Author: Generated automatically by Doxygen for libstdc++ from the source code.


And that’s the whole page, bestie! 🫢 Footer vibes: the source/version text says libstdc++, and the title in the footer is std::shared_lock< _Mutex >(3cxx). No date was printed in the original footer, so I’m not making one up β€” periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from