libstdc++
shared_ptr_atomic.h File Reference

Go to the source code of this file.

Namespaces

namespace  std
 

Macros

#define __cpp_lib_atomic_shared_ptr
 
#define _GLIBCXX_TSAN_MUTEX_DESTROY(X)
 
#define _GLIBCXX_TSAN_MUTEX_LOCKED(X)
 
#define _GLIBCXX_TSAN_MUTEX_POST_SIGNAL(X)
 
#define _GLIBCXX_TSAN_MUTEX_POST_UNLOCK(X)
 
#define _GLIBCXX_TSAN_MUTEX_PRE_SIGNAL(X)
 
#define _GLIBCXX_TSAN_MUTEX_PRE_UNLOCK(X)
 
#define _GLIBCXX_TSAN_MUTEX_TRY_LOCK(X)
 
#define _GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED(X)
 

Functions

template<typename _Tp , _Lock_policy _Lp>
bool std::atomic_is_lock_free (const __shared_ptr< _Tp, _Lp > *__p)
 
template<typename _Tp >
bool std::atomic_is_lock_free (const shared_ptr< _Tp > *__p)
 
template<typename _Tp , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::atomic_load (const __shared_ptr< _Tp, _Lp > *__p)
 
template<typename _Tp >
shared_ptr< _Tp > std::atomic_load (const shared_ptr< _Tp > *__p)
 
template<typename _Tp , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::atomic_load_explicit (const __shared_ptr< _Tp, _Lp > *__p, memory_order)
 
template<typename _Tp >
shared_ptr< _Tp > std::atomic_load_explicit (const shared_ptr< _Tp > *__p, memory_order)
 
template<typename _Tp , _Lock_policy _Lp>
void std::atomic_store (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r)
 
template<typename _Tp >
void std::atomic_store (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
 
template<typename _Tp , _Lock_policy _Lp>
void std::atomic_store_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r, memory_order)
 
template<typename _Tp >
void std::atomic_store_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order)
 
template<typename _Tp , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::atomic_exchange (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r)
 
template<typename _Tp >
shared_ptr< _Tp > std::atomic_exchange (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
 
template<typename _Tp , _Lock_policy _Lp>
__shared_ptr< _Tp, _Lp > std::atomic_exchange_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > __r, memory_order)
 
template<typename _Tp >
shared_ptr< _Tp > std::atomic_exchange_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order)
 
template<typename _Tp , _Lock_policy _Lp>
bool std::atomic_compare_exchange_strong (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w)
 
template<typename _Tp >
bool std::atomic_compare_exchange_strong (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)
 
template<typename _Tp , _Lock_policy _Lp>
bool std::atomic_compare_exchange_strong_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w, memory_order, memory_order)
 
template<typename _Tp >
bool std::atomic_compare_exchange_strong_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order, memory_order)
 
template<typename _Tp , _Lock_policy _Lp>
bool std::atomic_compare_exchange_weak (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w)
 
template<typename _Tp >
bool std::atomic_compare_exchange_weak (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w)
 
template<typename _Tp , _Lock_policy _Lp>
bool std::atomic_compare_exchange_weak_explicit (__shared_ptr< _Tp, _Lp > *__p, __shared_ptr< _Tp, _Lp > *__v, __shared_ptr< _Tp, _Lp > __w, memory_order __success, memory_order __failure)
 
template<typename _Tp >
bool std::atomic_compare_exchange_weak_explicit (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w, memory_order __success, memory_order __failure)
 

Variables

template<typename _Up >
static constexpr bool std::__is_shared_ptr
 
template<typename _Up >
static constexpr bool std::__is_shared_ptr< shared_ptr< _Up > >
 

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <memory>.

Definition in file shared_ptr_atomic.h.

Macro Definition Documentation

◆ __cpp_lib_atomic_shared_ptr

#define __cpp_lib_atomic_shared_ptr

Definition at line 359 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_DESTROY

#define _GLIBCXX_TSAN_MUTEX_DESTROY (   X)

Definition at line 51 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_LOCKED

#define _GLIBCXX_TSAN_MUTEX_LOCKED (   X)

Definition at line 54 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_POST_SIGNAL

#define _GLIBCXX_TSAN_MUTEX_POST_SIGNAL (   X)

Definition at line 58 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_POST_UNLOCK

#define _GLIBCXX_TSAN_MUTEX_POST_UNLOCK (   X)

Definition at line 56 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_PRE_SIGNAL

#define _GLIBCXX_TSAN_MUTEX_PRE_SIGNAL (   X)

Definition at line 57 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_PRE_UNLOCK

#define _GLIBCXX_TSAN_MUTEX_PRE_UNLOCK (   X)

Definition at line 55 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_TRY_LOCK

#define _GLIBCXX_TSAN_MUTEX_TRY_LOCK (   X)

Definition at line 52 of file shared_ptr_atomic.h.

◆ _GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED

#define _GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED (   X)

Definition at line 53 of file shared_ptr_atomic.h.