proxygen
|
#include <Hazptr-fwd.h>
Public Member Functions | |
FOLLY_ALWAYS_INLINE | hazptr_array () |
FOLLY_ALWAYS_INLINE | hazptr_array (std::nullptr_t) noexcept |
FOLLY_ALWAYS_INLINE | hazptr_array (hazptr_array &&other) noexcept |
hazptr_array (const hazptr_array &)=delete | |
hazptr_array & | operator= (const hazptr_array &)=delete |
FOLLY_ALWAYS_INLINE | ~hazptr_array () |
FOLLY_ALWAYS_INLINE hazptr_array & | operator= (hazptr_array &&other) noexcept |
FOLLY_ALWAYS_INLINE hazptr_holder< Atom > & | operator[] (uint8_t i) noexcept |
Private Attributes | |
aligned_hazptr_holder< Atom > | raw_ [M] |
bool | empty_ {false} |
Optimized template for bulk construction and destruction of hazard pointers.
WARNING: Do not move from or to individual hazptr_holder-s. Only move the whole hazptr_array.
NOTE: It is allowed to swap an individual hazptr_holder that belongs to hazptr_array with (a) a hazptr_holder object, or (b) a hazptr_holder that is part of hazptr_array, under the conditions: (i) both hazptr_holder-s are either both empty or both nonempty and (ii) both belong to the same domain.
Definition at line 163 of file Hazptr-fwd.h.
|
inline |
Constructor
Definition at line 225 of file HazptrHolder.h.
|
inlinenoexcept |
Empty constructor
Definition at line 253 of file HazptrHolder.h.
|
inlinenoexcept |
Move constructor
Definition at line 262 of file HazptrHolder.h.
|
delete |
|
inline |
Destructor
Definition at line 276 of file HazptrHolder.h.
|
delete |
|
inlinenoexcept |
Move operator
Definition at line 303 of file HazptrHolder.h.
|
inlinenoexcept |
[] operator
Definition at line 314 of file HazptrHolder.h.
|
private |
Definition at line 221 of file HazptrHolder.h.
|
private |
Definition at line 218 of file HazptrHolder.h.