std::experi...d_ptr::store(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

🫢 std::experi...d_ptr::store(3) 🫢

okay so bestie, welcome to the page for std::experi...d_ptr::store from the C++ Standard Libary (yes, that's the manual name, typo and all β€” we keep it πŸ’…). This is the std::experimental::atomic_shared_ptr::store situation, and it's giving "atomic shared pointer glow-up" ✨.


πŸŽ€ NAME πŸŽ€

std::experi...d_ptr::store β€” std::experimental::atomic_shared_ptr::store


🌸 Synopsis 🌸

void store( shared_ptr<T> desired, std::memory_order order =
std::memory_order_seq_cst ) noexcept;

Atomically replaces the current value with desired. Memory is affected according to the value of order.

πŸ’€ real talk: order must be one of std::memory_order_relaxed, std::memory_order_release, or std::memory_order_seq_cst. Otherwise the behavior is undefined. Not a vibe, bestie.

πŸ“ Parameters πŸ“

  • desired β€” the shared_ptr to store into the atomic variable.
  • order β€” memory order constraints to enforce.

πŸ¦‹ Return value πŸ¦‹

(none) β€” literally no return value. It's a void moment, no cap πŸ’€.


🌈 Remarks 🌈

  • All changes to the atomic_shared_ptr object itself, and all associated use_count increments, are guaranteed to be performed atomically.
  • Associated use_count decrements take place after the atomic operation, but are not required to be part of it.
  • Any associated destruction or deallocation operations take place after the atomic operation and are not part of it.

πŸ‘‘ See also πŸ‘‘

  • operator= β€” stores a value into an atomic_shared_ptr object (public member function).
  • std::atomic_is_lock_free(std::shared_ptr)
  • std::atomic_load(std::shared_ptr)
  • std::atomic_load_explicit(std::shared_ptr)
  • std::atomic_store(std::shared_ptr)
  • std::atomic_store_explicit(std::shared_ptr)
  • specializes atomic operations for std::shared_ptr (function template)
  • std::atomic_exchange(std::shared_ptr)
  • std::atomic_exchange_explicit(std::shared_ptr)
  • std::atomic_compare_exchange_weak(std::shared_ptr)
  • std::atomic_compare_exchange_strong(std::shared_ptr)
  • std::atomic_compare_exchange_weak_explicit(std::shared_ptr)
  • std::atomic_compare_exchange_strong_explicit(std::shared_ptr)
  • (deprecated in C++20)
  • (removed in C++26)

okay bye bestie β€” source: http://cppreference.com, version/date: 2024.06.10, manual tag: std::experi...d_ptr::store(3). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from