v8
9.4.146 (node 16.13.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 |
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 43 of file cross-thread-persistent.h.
using PointeeType = T |
Definition at line 49 of file cross-thread-persistent.h.
|
inline |
Definition at line 51 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear().
|
inline |
Definition at line 53 of file cross-thread-persistent.h.
|
inline |
Definition at line 57 of file cross-thread-persistent.h.
|
inline |
Definition at line 61 of file cross-thread-persistent.h.
|
inline |
Definition at line 65 of file cross-thread-persistent.h.
References CrossThreadPersistentRegion::AllocateNode(), and PersistentBase::SetNode().
|
inline |
Definition at line 83 of file cross-thread-persistent.h.
References CrossThreadPersistentRegion::AllocateNode(), and PersistentBase::SetNode().
|
inline |
Definition at line 93 of file cross-thread-persistent.h.
|
inline |
Definition at line 100 of file cross-thread-persistent.h.
|
inline |
Definition at line 107 of file cross-thread-persistent.h.
|
inline |
Definition at line 119 of file cross-thread-persistent.h.
|
inlinenoexcept |
Definition at line 128 of file cross-thread-persistent.h.
|
inline |
Clears the stored object.
Definition at line 211 of file cross-thread-persistent.h.
References CrossThreadPersistentRegion::FreeNode(), PersistentBase::GetNode(), PersistentBase::GetValue(), PersistentBase::SetNode(), and PersistentBase::SetValue().
Referenced by BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator=(), BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Release(), and BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::~BasicCrossThreadPersistent().
|
inline |
Definition at line 290 of file cross-thread-persistent.h.
|
inlineexplicit |
Conversio to boolean.
Note: Not thread-safe.
Definition at line 252 of file cross-thread-persistent.h.
|
inline |
Conversion to object of type T.
Note: Not thread-safe.
Definition at line 261 of file cross-thread-persistent.h.
|
inline |
Definition at line 269 of file cross-thread-persistent.h.
|
inline |
Dereferences the stored object.
Note: Not thread-safe.
Definition at line 268 of file cross-thread-persistent.h.
|
inline |
Definition at line 154 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear(), PersistentBase::GetNode(), and PersistentBase::GetValue().
|
inline |
Definition at line 135 of file cross-thread-persistent.h.
|
inline |
Definition at line 145 of file cross-thread-persistent.h.
|
inline |
Definition at line 177 of file cross-thread-persistent.h.
|
inline |
Definition at line 189 of file cross-thread-persistent.h.
|
inline |
Definition at line 184 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear().
|
inline |
Definition at line 168 of file cross-thread-persistent.h.
|
inline |
Returns a pointer to the stored object and releases it.
Note: Not thread-safe.
Definition at line 239 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear().
|
inline |
Definition at line 276 of file cross-thread-persistent.h.
|
inline |
Returns a pointer to the stored object.
Note: Not thread-safe.
Definition at line 204 of file cross-thread-persistent.h.
References PersistentBase::GetValue().
|
friend |
Definition at line 367 of file cross-thread-persistent.h.