![]() |
v8 12.4.254 (node 22.4.1)
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 MemberStorageType , typename = std::enable_if_t<std::is_base_of<T, U>::value>> | |
BasicCrossThreadPersistent (internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy, MemberStorageType > 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 MemberStorageType , typename = std::enable_if_t<std::is_base_of<T, U>::value>> | |
BasicCrossThreadPersistent & | operator= (internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy, MemberStorageType > 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 |
![]() | |
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 | internal::RootVisitor |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
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 CPPGC_DCHECK, 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 153 of file cross-thread-persistent.h.
|
inline |
Definition at line 160 of file cross-thread-persistent.h.
|
inline |
Definition at line 172 of file cross-thread-persistent.h.
|
inlinenoexcept |
Definition at line 181 of file cross-thread-persistent.h.
|
inline |
Clears the stored object.
Definition at line 281 of file cross-thread-persistent.h.
Referenced by BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator=(), BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator=(), and BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Release().
|
inline |
Definition at line 344 of file cross-thread-persistent.h.
|
inlineexplicit |
Conversio to boolean.
Note: Not thread-safe.
Definition at line 306 of file cross-thread-persistent.h.
|
inline |
Conversion to object of type T.
Note: Not thread-safe.
Definition at line 315 of file cross-thread-persistent.h.
|
inline |
Definition at line 323 of file cross-thread-persistent.h.
|
inline |
Dereferences the stored object.
Note: Not thread-safe.
Definition at line 322 of file cross-thread-persistent.h.
|
inline |
Definition at line 207 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear(), PersistentBase::GetNode(), PersistentBase::GetValue(), PersistentBase::SetNode(), PersistentBase::SetValue(), and PersistentNode::UpdateOwner().
|
inline |
Definition at line 188 of file cross-thread-persistent.h.
Referenced by BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator=().
|
inline |
Definition at line 198 of file cross-thread-persistent.h.
|
inline |
Definition at line 236 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator=().
|
inline |
Assigns the sentinel pointer.
Definition at line 258 of file cross-thread-persistent.h.
|
inline |
Assigns a nullptr.
Definition at line 248 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 226 of file cross-thread-persistent.h.
|
inline |
Returns a pointer to the stored object and releases it.
Note: Not thread-safe.
Definition at line 293 of file cross-thread-persistent.h.
References BasicCrossThreadPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear().
|
inline |
Definition at line 330 of file cross-thread-persistent.h.
|
inline |
Returns a pointer to the stored object.
Note: Not thread-safe.
Definition at line 274 of file cross-thread-persistent.h.
References PersistentBase::GetValue().
|
friend |
Definition at line 420 of file cross-thread-persistent.h.