libstdc++: shared_ptr_atomic.h File Reference

libstdc++

shared_ptr_atomic.h File Reference

Go to the source code of this file.

## Namespaces
namespace | std

## Macros
#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 > *)
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)

## 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

## ◆ _GLIBCXX_TSAN_MUTEX_DESTROY

#define _GLIBCXX_TSAN_MUTEX_DESTROY | ( |  | X | ) |

Definition at line 52 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_LOCKED

#define _GLIBCXX_TSAN_MUTEX_LOCKED | ( |  | X | ) |

Definition at line 55 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_POST_SIGNAL

#define _GLIBCXX_TSAN_MUTEX_POST_SIGNAL | ( |  | X | ) |

Definition at line 59 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_POST_UNLOCK

#define _GLIBCXX_TSAN_MUTEX_POST_UNLOCK | ( |  | X | ) |

Definition at line 57 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_PRE_SIGNAL

#define _GLIBCXX_TSAN_MUTEX_PRE_SIGNAL | ( |  | X | ) |

Definition at line 58 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_PRE_UNLOCK

#define _GLIBCXX_TSAN_MUTEX_PRE_UNLOCK | ( |  | X | ) |

Definition at line 56 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_TRY_LOCK

#define _GLIBCXX_TSAN_MUTEX_TRY_LOCK | ( |  | X | ) |

Definition at line 53 of file shared_ptr_atomic.h.

## ◆ _GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED

#define _GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED | ( |  | X | ) |

Definition at line 54 of file shared_ptr_atomic.h.