v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy > Class Template Reference

#include <persistent.h>

Inheritance diagram for BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >:
Collaboration diagram for BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >:

Public Types

using PointeeType = T
 

Public Member Functions

 BasicPersistent (const SourceLocation &loc=SourceLocation::Current())
 
 BasicPersistent (std::nullptr_t, const SourceLocation &loc=SourceLocation::Current())
 
 BasicPersistent (SentinelPointer s, const SourceLocation &loc=SourceLocation::Current())
 
 BasicPersistent (T *raw, const SourceLocation &loc=SourceLocation::Current())
 
 BasicPersistent (T &raw, const SourceLocation &loc=SourceLocation::Current())
 
 BasicPersistent (const BasicPersistent &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>>
 BasicPersistent (const BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > &other, const SourceLocation &loc=SourceLocation::Current())
 
 BasicPersistent (BasicPersistent &&other, const SourceLocation &loc=SourceLocation::Current()) noexcept
 
template<typename U, typename MemberBarrierPolicy, typename MemberWeaknessTag, typename MemberCheckingPolicy, typename MemberStorageType, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
 BasicPersistent (const internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy, MemberStorageType > &member, const SourceLocation &loc=SourceLocation::Current())
 
 ~BasicPersistent ()
 
BasicPersistentoperator= (const BasicPersistent &other)
 
template<typename U, typename OtherWeaknessPolicy, typename OtherLocationPolicy, typename OtherCheckingPolicy, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistentoperator= (const BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > &other)
 
BasicPersistentoperator= (BasicPersistent &&other) noexcept
 
template<typename U, typename MemberBarrierPolicy, typename MemberWeaknessTag, typename MemberCheckingPolicy, typename MemberStorageType, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistentoperator= (const internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy, MemberStorageType > &member)
 
BasicPersistentoperator= (T *other)
 
BasicPersistentoperator= (std::nullptr_t)
 
BasicPersistentoperator= (SentinelPointer s)
 
 operator bool () const
 
 operator T* () const
 
T * operator-> () const
 
T & operator* () const
 
 V8_CLANG_NO_SANITIZE ("cfi-unrelated-cast") T *Get() const
 
void Clear ()
 
T * Release ()
 
template<typename U, typename OtherWeaknessPolicy = WeaknessPolicy, typename OtherLocationPolicy = LocationPolicy, typename OtherCheckingPolicy = CheckingPolicy>
BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > To () const
 

Friends

class internal::RootVisitor
 

Additional Inherited Members

- Protected Member Functions inherited from PersistentBase
 PersistentBase ()=default
 
 PersistentBase (const void *raw)
 
const void * GetValue () const
 
void SetValue (const void *value)
 
PersistentNodeGetNode () const
 
void SetNode (PersistentNode *node)
 
void ClearFromGC () const
 
- Protected Attributes inherited from PersistentBase
const void * raw_ = nullptr
 
PersistentNodenode_ = nullptr
 

Detailed Description

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
class cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >

Definition at line 51 of file persistent.h.

Member Typedef Documentation

◆ PointeeType

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
using PointeeType = T

Definition at line 57 of file persistent.h.

Constructor & Destructor Documentation

◆ BasicPersistent() [1/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( const SourceLocation & loc = SourceLocation::Current())
inline

Definition at line 60 of file persistent.h.

◆ BasicPersistent() [2/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( std::nullptr_t ,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 64 of file persistent.h.

◆ BasicPersistent() [3/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( SentinelPointer s,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 68 of file persistent.h.

◆ BasicPersistent() [4/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( T * raw,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 73 of file persistent.h.

◆ BasicPersistent() [5/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( T & raw,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 82 of file persistent.h.

◆ BasicPersistent() [6/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( const BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy > & other,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 87 of file persistent.h.

◆ BasicPersistent() [7/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
template<typename U, typename OtherWeaknessPolicy, typename OtherLocationPolicy, typename OtherCheckingPolicy, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistent ( const BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > & other,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 96 of file persistent.h.

◆ BasicPersistent() [8/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent ( BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy > && other,
const SourceLocation & loc = SourceLocation::Current() )
inlinenoexcept

Definition at line 104 of file persistent.h.

◆ BasicPersistent() [9/9]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
template<typename U, typename MemberBarrierPolicy, typename MemberWeaknessTag, typename MemberCheckingPolicy, typename MemberStorageType, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistent ( const internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy, MemberStorageType > & member,
const SourceLocation & loc = SourceLocation::Current() )
inline

Definition at line 121 of file persistent.h.

◆ ~BasicPersistent()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
~BasicPersistent ( )
inline

Definition at line 127 of file persistent.h.

Member Function Documentation

◆ Clear()

◆ operator bool()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
operator bool ( ) const
inlineexplicit

Definition at line 184 of file persistent.h.

◆ operator T*()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
operator T* ( ) const
inline

Definition at line 187 of file persistent.h.

◆ operator*()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
T & operator* ( ) const
inline

Definition at line 189 of file persistent.h.

◆ operator->()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
T * operator-> ( ) const
inline

Definition at line 188 of file persistent.h.

◆ operator=() [1/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent & operator= ( BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy > && other)
inlinenoexcept

Definition at line 144 of file persistent.h.

◆ operator=() [2/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent & operator= ( const BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy > & other)
inline

◆ operator=() [3/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
template<typename U, typename OtherWeaknessPolicy, typename OtherLocationPolicy, typename OtherCheckingPolicy, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistent & operator= ( const BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > & other)
inline

Definition at line 137 of file persistent.h.

◆ operator=() [4/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
template<typename U, typename MemberBarrierPolicy, typename MemberWeaknessTag, typename MemberCheckingPolicy, typename MemberStorageType, typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistent & operator= ( const internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy, MemberStorageType > & member)
inline

Definition at line 162 of file persistent.h.

◆ operator=() [5/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent & operator= ( SentinelPointer s)
inline

Definition at line 179 of file persistent.h.

◆ operator=() [6/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent & operator= ( std::nullptr_t )
inline

Definition at line 174 of file persistent.h.

◆ operator=() [7/7]

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
BasicPersistent & operator= ( T * other)
inline

Definition at line 169 of file persistent.h.

◆ Release()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
T * Release ( )
inline

Definition at line 211 of file persistent.h.

◆ To()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
template<typename U, typename OtherWeaknessPolicy = WeaknessPolicy, typename OtherLocationPolicy = LocationPolicy, typename OtherCheckingPolicy = CheckingPolicy>
BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > To ( ) const
inline

Definition at line 222 of file persistent.h.

◆ V8_CLANG_NO_SANITIZE()

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
V8_CLANG_NO_SANITIZE ( "cfi-unrelated-cast" ) const
inline

Definition at line 194 of file persistent.h.

Friends And Related Symbol Documentation

◆ internal::RootVisitor

template<typename T, typename WeaknessPolicy, typename LocationPolicy, typename CheckingPolicy>
friend class internal::RootVisitor
friend

Definition at line 270 of file persistent.h.


The documentation for this class was generated from the following files: