proxygen
|
#include <PackedSyncPtr.h>
Public Member Functions | |
void | init (T *initialPtr=nullptr, uint16_t initialExtra=0) |
void | set (T *t) |
T * | get () const |
T * | operator-> () const |
reference | operator* () const |
reference | operator[] (std::ptrdiff_t i) const |
void | lock () const |
void | unlock () const |
bool | try_lock () const |
uint16_t | extra () const |
void | setExtra (uint16_t extra) |
Private Types | |
typedef std::add_lvalue_reference< T >::type | reference |
Private Attributes | |
PicoSpinLock< uintptr_t > | data_ |
Definition at line 63 of file PackedSyncPtr.h.
|
private |
Definition at line 67 of file PackedSyncPtr.h.
|
inline |
Definition at line 133 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, and folly::PicoSpinLock< IntType, Bit >::getData().
Referenced by SyncVec< T >::end(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::get_local_count(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::get_shared_ptr(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::owners_eq(), SyncVec< T >::push_back(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::putOwnedBase(), folly::PackedSyncPtr< T >::set(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::takeOwnedBase(), and TEST().
|
inline |
Definition at line 103 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, folly::PicoSpinLock< IntType, Bit >::getData(), and folly::T.
Referenced by SyncVec< T >::begin(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::compare_exchange_weak(), SyncVec< T >::end(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::get_shared_ptr(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::owners_eq(), SyncVec< T >::push_back(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::putOwnedBase(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::release_external(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::takeOwnedBase(), TEST(), and SyncVec< T >::~SyncVec().
|
inline |
Definition at line 77 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, folly::PicoSpinLock< IntType, Bit >::init(), and folly::PackedSyncPtr< T >::setExtra().
Referenced by folly::atomic_shared_ptr< T, Atom, CountedDetail >::get_newptr(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::init(), SyncVec< T >::SyncVec(), and TEST().
|
inline |
Definition at line 118 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, and folly::PicoSpinLock< IntType, Bit >::lock().
Referenced by SyncVec< T >::lock(), and TEST().
|
inline |
Definition at line 109 of file PackedSyncPtr.h.
|
inline |
Definition at line 106 of file PackedSyncPtr.h.
|
inline |
Definition at line 112 of file PackedSyncPtr.h.
|
inline |
Definition at line 89 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, folly::PackedSyncPtr< T >::extra(), folly::PicoSpinLock< IntType, Bit >::setData(), and folly::pushmi::detail::t.
Referenced by SyncVec< T >::push_back(), and TEST().
|
inline |
Definition at line 143 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, folly::PicoSpinLock< IntType, Bit >::getData(), ptr, and folly::PicoSpinLock< IntType, Bit >::setData().
Referenced by folly::PackedSyncPtr< T >::init(), SyncVec< T >::push_back(), folly::atomic_shared_ptr< T, Atom, CountedDetail >::takeOwnedBase(), and TEST().
|
inline |
Definition at line 124 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, and folly::PicoSpinLock< IntType, Bit >::try_lock().
|
inline |
Definition at line 121 of file PackedSyncPtr.h.
References folly::PackedSyncPtr< T >::data_, and folly::PicoSpinLock< IntType, Bit >::unlock().
Referenced by TEST(), and SyncVec< T >::unlock().
|
private |
Definition at line 150 of file PackedSyncPtr.h.
Referenced by folly::PackedSyncPtr< T >::extra(), folly::PackedSyncPtr< T >::get(), folly::PackedSyncPtr< T >::init(), folly::PackedSyncPtr< T >::lock(), folly::PackedSyncPtr< T >::set(), folly::PackedSyncPtr< T >::setExtra(), folly::PackedSyncPtr< T >::try_lock(), and folly::PackedSyncPtr< T >::unlock().