V8  latest master commit
V8 is Google's open source JavaScript engine
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy > Class Template Reference

#include <pointer-policies.h>

Public Types

using PointeeType = T
 

Public Member Functions

constexpr BasicMember ()=default
 
constexpr BasicMember (std::nullptr_t)
 
 BasicMember (SentinelPointer s)
 
 BasicMember (T *raw)
 
 BasicMember (T &raw)
 
 BasicMember (const BasicMember &other)
 
template<typename U , typename OtherBarrierPolicy , typename OtherWeaknessTag , typename OtherCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
 BasicMember (const BasicMember< U, OtherWeaknessTag, OtherBarrierPolicy, OtherCheckingPolicy > &other)
 
template<typename U , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
 BasicMember (const BasicPersistent< U, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &p)
 
BasicMemberoperator= (const BasicMember &other)
 
template<typename U , typename OtherWeaknessTag , typename OtherBarrierPolicy , typename OtherCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicMemberoperator= (const BasicMember< U, OtherWeaknessTag, OtherBarrierPolicy, OtherCheckingPolicy > &other)
 
template<typename U , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicMemberoperator= (const BasicPersistent< U, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &other)
 
BasicMemberoperator= (T *other)
 
BasicMemberoperator= (std::nullptr_t)
 
BasicMemberoperator= (SentinelPointer s)
 
template<typename OtherWeaknessTag , typename OtherBarrierPolicy , typename OtherCheckingPolicy >
void Swap (BasicMember< T, OtherWeaknessTag, OtherBarrierPolicy, OtherCheckingPolicy > &other)
 
 operator bool () const
 
 operator T* () const
 
T * operator-> () const
 
T & operator* () const
 
T * Get () const
 
void Clear ()
 
T * Release ()
 

Friends

class cppgc::Visitor
 

Detailed Description

template<typename T, typename WeaknessTag, typename WriteBarrierPolicy, typename CheckingPolicy>
class cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >

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

Member Typedef Documentation

◆ PointeeType

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
using cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::PointeeType = T

Definition at line 27 of file member.h.

Constructor & Destructor Documentation

◆ BasicMember() [1/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
constexpr cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( )
constexprdefault

◆ BasicMember() [2/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
constexpr cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( std::nullptr_t  )
inlineconstexpr

Definition at line 30 of file member.h.

◆ BasicMember() [3/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( SentinelPointer  s)
inline

Definition at line 31 of file member.h.

◆ BasicMember() [4/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( T *  raw)
inline

Definition at line 32 of file member.h.

◆ BasicMember() [5/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( T &  raw)
inline

Definition at line 36 of file member.h.

◆ BasicMember() [6/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy > &  other)
inline

Definition at line 37 of file member.h.

◆ BasicMember() [7/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
template<typename U , typename OtherBarrierPolicy , typename OtherWeaknessTag , typename OtherCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( const BasicMember< U, OtherWeaknessTag, OtherBarrierPolicy, OtherCheckingPolicy > &  other)
inline

Definition at line 42 of file member.h.

◆ BasicMember() [8/8]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
template<typename U , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::BasicMember ( const BasicPersistent< U, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &  p)
inline

Definition at line 51 of file member.h.

Member Function Documentation

◆ Clear()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
void cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::Clear ( )
inline

Definition at line 114 of file member.h.

◆ Get()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
T* cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::Get ( ) const
inline

Definition at line 109 of file member.h.

◆ operator bool()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator bool ( ) const
inlineexplicit

Definition at line 104 of file member.h.

◆ operator T*()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator T* ( ) const
inline

Definition at line 105 of file member.h.

◆ operator*()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
T& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator* ( ) const
inline

Definition at line 107 of file member.h.

◆ operator->()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
T* cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator-> ( ) const
inline

Definition at line 106 of file member.h.

◆ operator=() [1/6]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
BasicMember& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator= ( const BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy > &  other)
inline

Definition at line 57 of file member.h.

◆ operator=() [2/6]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
template<typename U , typename OtherWeaknessTag , typename OtherBarrierPolicy , typename OtherCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicMember& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator= ( const BasicMember< U, OtherWeaknessTag, OtherBarrierPolicy, OtherCheckingPolicy > &  other)
inline

Definition at line 64 of file member.h.

◆ operator=() [3/6]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
template<typename U , typename PersistentWeaknessPolicy , typename PersistentLocationPolicy , typename PersistentCheckingPolicy , typename = std::enable_if_t<std::is_base_of<T, U>::value>>
BasicMember& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator= ( const BasicPersistent< U, PersistentWeaknessPolicy, PersistentLocationPolicy, PersistentCheckingPolicy > &  other)
inline

Definition at line 74 of file member.h.

◆ operator=() [4/6]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
BasicMember& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator= ( SentinelPointer  s)
inline

Definition at line 90 of file member.h.

◆ operator=() [5/6]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
BasicMember& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator= ( std::nullptr_t  )
inline

Definition at line 86 of file member.h.

◆ operator=() [6/6]

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
BasicMember& cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::operator= ( T *  other)
inline

Definition at line 80 of file member.h.

◆ Release()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
T* cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::Release ( )
inline

Definition at line 116 of file member.h.

◆ Swap()

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
template<typename OtherWeaknessTag , typename OtherBarrierPolicy , typename OtherCheckingPolicy >
void cppgc::internal::BasicMember< T, WeaknessTag, WriteBarrierPolicy, CheckingPolicy >::Swap ( BasicMember< T, OtherWeaknessTag, OtherBarrierPolicy, OtherCheckingPolicy > &  other)
inline

Definition at line 97 of file member.h.

Friends And Related Function Documentation

◆ cppgc::Visitor

template<typename T , typename WeaknessTag , typename WriteBarrierPolicy , typename CheckingPolicy >
friend class cppgc::Visitor
friend

Definition at line 143 of file member.h.


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