cstdatomic(3)

πŸ“¦ version 4.4.0, in nixpkgs unstable

🌸 NAME 🌸

okay so this is cstdatomic(3) from the Library Functions Manual, and the NAME entry is literally:

cstdatomic -

...yes, that’s the whole thing. The dash is giving mysterious main character energy and honestly? respect. πŸ’…


✨ SYNOPSIS ✨

bestie, this page is a whole vibe check of declarations. Buckle up, because we are keeping every single one. 🫢

πŸŽ€ Classes πŸŽ€

  • struct std::atomic< _Tp > β€” the original label says atomic 29.4.3, generic atomic type, primary class template.
  • struct std::atomic< _Tp * > β€” partial specialization for pointer types.
  • struct std::atomic< bool > β€” explicit specialization for bool.
  • struct std::atomic< char > β€” explicit specialization for char.
  • struct std::atomic< char16_t > β€” explicit specialization for char16_t.
  • struct std::atomic< char32_t > β€” explicit specialization for char32_t.
  • struct std::atomic< int > β€” explicit specialization for int.
  • struct std::atomic< long > β€” explicit specialization for long.
  • struct std::atomic< long long > β€” explicit specialization for long long.
  • struct std::atomic< short > β€” explicit specialization for short.
  • struct std::atomic< signed char > β€” explicit specialization for signed char.
  • struct std::atomic< unsigned char > β€” explicit specialization for unsigned char.
  • struct std::atomic< unsigned int > β€” explicit specialization for unsigned int.
  • struct std::atomic< unsigned long > β€” explicit specialization for unsigned long.
  • struct std::atomic< unsigned long long > β€” explicit specialization for unsigned long long.
  • struct std::atomic< unsigned short > β€” explicit specialization for unsigned short.
  • struct std::atomic< void * > β€” explicit specialization for void*.
  • struct std::atomic< wchar_t > β€” explicit specialization for wchar_t.

πŸ¦‹ Namespaces πŸ¦‹

  • namespace std β€” yep, everything is hanging out in std. icon behavior.

πŸ“ Defines πŸ“

  • #define _GLIBCXX_STDATOMIC β€” that’s the define, exactly as written, no edits.

πŸ”₯ Functions πŸ”₯

here’s the full roster, signatures kept exactly because we do not mess with code, periodt:

  • memory_order std::__calculate_memory_order (memory_order __m)
  • template<typename _ITp > bool std::atomic_compare_exchange_strong (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
  • bool std::atomic_compare_exchange_strong (volatile atomic_bool *__a, bool *__i1, bool __i2)
  • bool std::atomic_compare_exchange_strong (volatile atomic_address *__a, void **__v1, void *__v2)
  • template<typename _ITp > bool std::atomic_compare_exchange_strong_explicit (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
  • bool std::atomic_compare_exchange_strong_explicit (volatile atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
  • bool std::atomic_compare_exchange_strong_explicit (volatile atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
  • template<typename _ITp > bool std::atomic_compare_exchange_weak (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2)
  • bool std::atomic_compare_exchange_weak (volatile atomic_bool *__a, bool *__i1, bool __i2)
  • bool std::atomic_compare_exchange_weak (volatile atomic_address *__a, void **__v1, void *__v2)
  • template<typename _ITp > bool std::atomic_compare_exchange_weak_explicit (volatile __atomic_base< _ITp > *__a, _ITp *__i1, _ITp __i2, memory_order __m1, memory_order __m2)
  • bool std::atomic_compare_exchange_weak_explicit (volatile atomic_bool *__a, bool *__i1, bool __i2, memory_order __m1, memory_order __m2)
  • bool std::atomic_compare_exchange_weak_explicit (volatile atomic_address *__a, void **__v1, void *__v2, memory_order __m1, memory_order __m2)
  • template<typename _ITp > _ITp std::atomic_exchange (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • bool std::atomic_exchange (volatile atomic_bool *__a, bool __i)
  • void * std::atomic_exchange (volatile atomic_address *__a, void *__v)
  • template<typename _ITp > _ITp std::atomic_exchange_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • bool std::atomic_exchange_explicit (volatile atomic_bool *__a, bool __i, memory_order __m)
  • void * std::atomic_exchange_explicit (volatile atomic_address *__a, void *__v, memory_order __m)
  • template<typename _ITp > _ITp std::atomic_fetch_add (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • void * std::atomic_fetch_add (volatile atomic_address *__a, ptrdiff_t __d)
  • template<typename _ITp > _ITp std::atomic_fetch_add_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • void * std::atomic_fetch_add_explicit (volatile atomic_address *__a, ptrdiff_t __d, memory_order __m)
  • template<typename _ITp > _ITp std::atomic_fetch_and (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • template<typename _ITp > _ITp std::atomic_fetch_and_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • template<typename _ITp > _ITp std::atomic_fetch_or (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • template<typename _ITp > _ITp std::atomic_fetch_or_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • template<typename _ITp > _ITp std::atomic_fetch_sub (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • void * std::atomic_fetch_sub (volatile atomic_address *__a, ptrdiff_t __d)
  • template<typename _ITp > _ITp std::atomic_fetch_sub_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • void * std::atomic_fetch_sub_explicit (volatile atomic_address *__a, ptrdiff_t __d, memory_order __m)
  • template<typename _ITp > _ITp std::atomic_fetch_xor (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • template<typename _ITp > _ITp std::atomic_fetch_xor_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • void std::atomic_flag_clear_explicit (volatile atomic_flag *__a, memory_order __m)
  • bool std::atomic_flag_test_and_set_explicit (volatile atomic_flag *__a, memory_order __m)
  • template<typename _ITp > bool std::atomic_is_lock_free (const volatile __atomic_base< _ITp > *__a)
  • bool std::atomic_is_lock_free (const volatile atomic_bool *__a)
  • bool std::atomic_is_lock_free (const volatile atomic_address *__a)
  • template<typename _ITp > _ITp std::atomic_load (const volatile __atomic_base< _ITp > *__a)
  • bool std::atomic_load (const volatile atomic_bool *__a)
  • void * std::atomic_load (const volatile atomic_address *__a)
  • template<typename _ITp > _ITp std::atomic_load_explicit (const volatile __atomic_base< _ITp > *__a, memory_order __m)
  • bool std::atomic_load_explicit (const volatile atomic_bool *__a, memory_order __m)
  • void * std::atomic_load_explicit (const volatile atomic_address *__a, memory_order __m)
  • template<typename _ITp > void std::atomic_store (volatile __atomic_base< _ITp > *__a, _ITp __i)
  • void std::atomic_store (volatile atomic_bool *__a, bool __i)
  • void std::atomic_store (volatile atomic_address *__a, void *__v)
  • template<typename _ITp > void std::atomic_store_explicit (volatile __atomic_base< _ITp > *__a, _ITp __i, memory_order __m)
  • void std::atomic_store_explicit (volatile atomic_bool *__a, bool __i, memory_order __m)
  • void std::atomic_store_explicit (volatile atomic_address *__a, void *__v, memory_order __m)
  • template<typename _Tp > _Tp std::kill_dependency (_Tp __y)

πŸ’– Detailed Description πŸ’–

okay so the important lore:

  • This is a Standard C++ Library file. You should include this file in your programs, rather than any of the '*.h' implementation files.
  • This is the C++ version of the Standard C Library header stdatomic.h, and its contents are (mostly) the same as that header, but they are all contained in the namespace std β€” except for names which are defined as macros in C.
  • Definition in file cstdatomic.

🌟 Author 🌟

Generated automatically by Doxygen for libstdc++ from the source code. no cap, the robots wrote this one. πŸ€–πŸ’…


mwah πŸ’‹ β€” source/version: libstdc++, date: 21 Apr 2009 🌈✨ that’s the whole cstdatomic(3) footer energy, bestie.

πŸ“¦ where this page comes from