V8  latest master commit
V8 is Google's open source JavaScript engine
cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy > Class Template Reference

#include <pointer-policies.h>

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 = std::enable_if_t<std::is_base_of<T, U>::value>>
 BasicPersistent (internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy > 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)
 
template<typename U , typename MemberBarrierPolicy , typename MemberWeaknessTag , typename MemberCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistentoperator= (internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy > member)
 
BasicPersistentoperator= (T *other)
 
BasicPersistentoperator= (std::nullptr_t)
 
BasicPersistentoperator= (SentinelPointer s)
 
 operator bool () const
 
 operator T* () const
 
T * operator-> () const
 
T & operator* () const
 
T * Get () const
 
void Clear ()
 
T * Release ()
 

Detailed Description

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

Definition at line 109 of file pointer-policies.h.

Member Typedef Documentation

◆ PointeeType

template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy >
using cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::PointeeType = T

Definition at line 28 of file persistent.h.

Constructor & Destructor Documentation

◆ BasicPersistent() [1/9]

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

Definition at line 31 of file persistent.h.

◆ BasicPersistent() [2/9]

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

Definition at line 35 of file persistent.h.

◆ BasicPersistent() [3/9]

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

Definition at line 39 of file persistent.h.

◆ BasicPersistent() [4/9]

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

Definition at line 44 of file persistent.h.

◆ BasicPersistent() [5/9]

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

Definition at line 53 of file persistent.h.

◆ BasicPersistent() [6/9]

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

Definition at line 58 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>>
cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::BasicPersistent ( const BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > &  other,
const SourceLocation loc = SourceLocation::Current() 
)
inline

Definition at line 66 of file persistent.h.

◆ BasicPersistent() [8/9]

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

Definition at line 74 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 = std::enable_if_t<std::is_base_of<T, U>::value>>
cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::BasicPersistent ( internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy >  member,
const SourceLocation loc = SourceLocation::Current() 
)
inline

Definition at line 91 of file persistent.h.

◆ ~BasicPersistent()

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

Definition at line 97 of file persistent.h.

Member Function Documentation

◆ Clear()

template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy >
void cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Clear ( )
inline

Definition at line 161 of file persistent.h.

◆ Get()

template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy >
T* cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Get ( ) const
inline

Definition at line 159 of file persistent.h.

◆ operator bool()

template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy >
cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator bool ( ) const
inlineexplicit

Definition at line 154 of file persistent.h.

◆ operator T*()

template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy >
cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator T* ( ) const
inline

Definition at line 155 of file persistent.h.

◆ operator*()

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

Definition at line 157 of file persistent.h.

◆ operator->()

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

Definition at line 156 of file persistent.h.

◆ operator=() [1/7]

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

Definition at line 114 of file persistent.h.

◆ operator=() [2/7]

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

Definition at line 100 of file persistent.h.

◆ 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& cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator= ( const BasicPersistent< U, OtherWeaknessPolicy, OtherLocationPolicy, OtherCheckingPolicy > &  other)
inline

Definition at line 107 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 = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicPersistent& cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::operator= ( internal::BasicMember< U, MemberBarrierPolicy, MemberWeaknessTag, MemberCheckingPolicy >  member)
inline

Definition at line 132 of file persistent.h.

◆ operator=() [5/7]

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

Definition at line 149 of file persistent.h.

◆ operator=() [6/7]

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

Definition at line 144 of file persistent.h.

◆ operator=() [7/7]

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

Definition at line 139 of file persistent.h.

◆ Release()

template<typename T , typename WeaknessPolicy , typename LocationPolicy , typename CheckingPolicy >
T* cppgc::internal::BasicPersistent< T, WeaknessPolicy, LocationPolicy, CheckingPolicy >::Release ( )
inline

Definition at line 163 of file persistent.h.


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