v8
10.1.124 (node 18.2.0)
V8 is Google's open source JavaScript engine
|
#include <cross-thread-persistent.h>
Data Structures | |
class | UnsafeCtorTag |
Public Types | |
using | PointeeType = T |
Public Member Functions | |
~BasicCrossThreadPersistent () | |
BasicCrossThreadPersistent (const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (std::nullptr_t, const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (SentinelPointer s, const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (T *raw, const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (UnsafeCtorTag, T *raw, const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (T &raw, const SourceLocation &loc=SourceLocation::Current()) | |
template<typename U , typename MemberBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>> | |
BasicCrossThreadPersistent (internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy > member, const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (const BasicCrossThreadPersistent &other, const SourceLocation &loc=SourceLocation::Current()) | |
template<typename U , typename OtherWeaknessPolicy , typename OtherLocationPolicy , typename OtherCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>> | |
BasicCrossThreadPersistent (const BasicCrossThreadPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > &other, const SourceLocation &loc=SourceLocation::Current()) | |
BasicCrossThreadPersistent (BasicCrossThreadPersistent &&other, const SourceLocation &loc=SourceLocation::Current()) noexcept | |
BasicCrossThreadPersistent & | operator= (const BasicCrossThreadPersistent &other) |
template<typename U , typename OtherWeaknessPolicy , typename OtherLocationPolicy , typename OtherCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>> | |
BasicCrossThreadPersistent & | operator= (const BasicCrossThreadPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > &other) |
BasicCrossThreadPersistent & | operator= (BasicCrossThreadPersistent &&other) |
BasicCrossThreadPersistent & | operator= (T *other) |
template<typename U , typename MemberBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>> | |
BasicCrossThreadPersistent & | operator= (internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy > member) |
BasicCrossThreadPersistent & | operator= (std::nullptr_t) |
BasicCrossThreadPersistent & | operator= (SentinelPointer s) |
V8_CLANG_NO_SANITIZE ("cfi-unrelated-cast") T *Get() const | |
void | Clear () |
T * | Release () |
operator bool () const | |
operator T* () const | |
T * | operator-> () const |
T & | operator* () const |
template<typename U , typename OtherWeaknessPolicy = WeaknessPolicy, typename OtherLocationPolicy = LocationPolicy, typename OtherCheckingPolicy = CheckingPolicy> | |
BasicCrossThreadPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > | To () const |
template<typename U = T, typename = typename std::enable_if<!BasicCrossThreadPersistent< U, WeaknessPolicy>::IsStrongPersistent::value>::type> | |
BasicCrossThreadPersistent< U, internal::StrongCrossThreadPersistentPolicy > | Lock () const |
Public Member Functions inherited from CrossThreadPersistentBase | |
CrossThreadPersistentBase ()=default | |
CrossThreadPersistentBase (const void *raw) | |
V8_CLANG_NO_SANITIZE ("address") const void *GetValueFromGC() const | |
PersistentNode * | GetNodeFromGC () const |
void | ClearFromGC () const |
PersistentNode * | GetNodeSafe () const |
void | SetNodeSafe (PersistentNode *value) const |
Friends | |
class | cppgc::Visitor |
Additional Inherited Members | |
Protected Member Functions inherited from PersistentBase | |
PersistentBase ()=default | |
PersistentBase (const void *raw) | |
const void * | GetValue () const |
void | SetValue (const void *value) |
PersistentNode * | GetNode () const |
void | SetNode (PersistentNode *node) |
void | ClearFromGC () const |
Protected Attributes inherited from PersistentBase | |
const void * | raw_ = nullptr |
PersistentNode * | node_ = nullptr |
Definition at line 71 of file cross-thread-persistent.h.
using PointeeType = T |
Definition at line 77 of file cross-thread-persistent.h.
|
inline |
Definition at line 79 of file cross-thread-persistent.h.
References CrossThreadPersistentRegion::FreeNode(), PersistentBase::GetNode(), CrossThreadPersistentBase::GetNodeSafe(), PersistentBase::GetValue(), and PersistentBase::SetNode().
|
inline |
Definition at line 105 of file cross-thread-persistent.h.
|
inline |
Definition at line 109 of file cross-thread-persistent.h.
|
inline |
Definition at line 113 of file cross-thread-persistent.h.
|
inline |
Definition at line 117 of file cross-thread-persistent.h.
References CrossThreadPersistentRegion::AllocateNode(), and PersistentBase::SetNode().
|
inline |
Definition at line 135 of file cross-thread-persistent.h.
References CrossThreadPersistentRegion::AllocateNode(), and PersistentBase::SetNode().
|
inline |
Definition at line 145 of file cross-thread-persistent.h.
|
inline |
Definition at line 152 of file cross-thread-persistent.h.
|
inline |
Definition at line 159 of file cross-thread-persistent.h.
|
inline |
Definition at line 171 of file cross-thread-persistent.h.
|
inlinenoexcept |
Definition at line 180 of file cross-thread-persistent.h.
|
inline |
Clears the stored object.
Definition at line 279 of file cross-thread-persistent.h.
Referenced by BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator=(), and BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Release().
|
inline |
Definition at line 342 of file cross-thread-persistent.h.
|
inlineexplicit |
Conversio to boolean.
Note: Not thread-safe.
Definition at line 304 of file cross-thread-persistent.h.
|
inline |
Conversion to object of type T.
Note: Not thread-safe.
Definition at line 313 of file cross-thread-persistent.h.
|
inline |
Definition at line 321 of file cross-thread-persistent.h.
|
inline |
Dereferences the stored object.
Note: Not thread-safe.
Definition at line 320 of file cross-thread-persistent.h.
|
inline |
Definition at line 206 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear(), PersistentBase::GetNode(), and PersistentBase::GetValue().
|
inline |
Definition at line 187 of file cross-thread-persistent.h.
|
inline |
Definition at line 197 of file cross-thread-persistent.h.
|
inline |
Definition at line 234 of file cross-thread-persistent.h.
|
inline |
Assigns the sentinel pointer.
Definition at line 256 of file cross-thread-persistent.h.
|
inline |
Assigns a nullptr.
Definition at line 246 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear().
|
inline |
Assigns a raw pointer.
Note: Not thread-safe.
Definition at line 225 of file cross-thread-persistent.h.
|
inline |
Returns a pointer to the stored object and releases it.
Note: Not thread-safe.
Definition at line 291 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear().
|
inline |
Definition at line 328 of file cross-thread-persistent.h.
|
inline |
Returns a pointer to the stored object.
Note: Not thread-safe.
Definition at line 272 of file cross-thread-persistent.h.
References PersistentBase::GetValue().
|
friend |
Definition at line 419 of file cross-thread-persistent.h.