V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::Persistent< T, M > Class Template Reference

#include <v8.h>

Inheritance diagram for v8::Persistent< T, M >:
v8::PersistentBase< T >

Public Member Functions

V8_INLINE Persistent ()
 
template<class S >
V8_INLINE Persistent (Isolate *isolate, Local< S > that)
 
template<class S , class M2 >
V8_INLINE Persistent (Isolate *isolate, const Persistent< S, M2 > &that)
 
V8_INLINE Persistent (const Persistent &that)
 
template<class S , class M2 >
V8_INLINE Persistent (const Persistent< S, M2 > &that)
 
V8_INLINE Persistentoperator= (const Persistent &that)
 
template<class S , class M2 >
V8_INLINE Persistentoperator= (const Persistent< S, M2 > &that)
 
V8_INLINE ~Persistent ()
 
template<class S >
V8_INLINE Persistent< S > & As () const
 
- Public Member Functions inherited from v8::PersistentBase< T >
V8_INLINE void Reset ()
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const Local< S > &other)
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const PersistentBase< S > &other)
 
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Empty ()
 
V8_INLINE Local< T > Get (Isolate *isolate) const
 
template<class S >
V8_INLINE bool operator== (const PersistentBase< S > &that) const
 
template<class S >
V8_INLINE bool operator== (const Local< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const PersistentBase< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const Local< S > &that) const
 
template<typename P >
V8_INLINE void SetWeak (P *parameter, typename WeakCallbackInfo< P >::Callback callback, WeakCallbackType type)
 
V8_INLINE void SetWeak ()
 
template<typename P >
V8_INLINE P * ClearWeak ()
 
V8_INLINE void ClearWeak ()
 
V8_INLINE void AnnotateStrongRetainer (const char *label)
 
V8_INLINE void RegisterExternalReference (Isolate *isolate) const
 
 V8_DEPRECATE_SOON ("Objects are always considered independent. " "Use MarkActive to avoid collecting otherwise dead weak handles.", V8_INLINE void MarkIndependent())
 
V8_INLINE void MarkActive ()
 
 V8_DEPRECATE_SOON ("See MarkIndependent.", V8_INLINE bool IsIndependent() const)
 
V8_INLINE bool IsNearDeath () const
 
V8_INLINE bool IsWeak () const
 
V8_INLINE void SetWrapperClassId (uint16_t class_id)
 
V8_INLINE uint16_t WrapperClassId () const
 
 PersistentBase (const PersistentBase &other)=delete
 
void operator= (const PersistentBase &)=delete
 

Static Public Member Functions

template<class S >
static V8_INLINE Persistent< T > & Cast (const Persistent< S > &that)
 

Friends

class Isolate
 
class Utils
 
template<class F >
class Local
 
template<class F1 , class F2 >
class Persistent
 
template<class F >
class ReturnValue
 

Detailed Description

template<class T, class M>
class v8::Persistent< T, M >

A PersistentBase which allows copy and assignment.

Copy, assignment and destructor behavior is controlled by the traits class M.

Note: Persistent class hierarchy is subject to future changes.

Definition at line 92 of file v8.h.

Constructor & Destructor Documentation

◆ Persistent() [1/4]

template<class T, class M>
V8_INLINE v8::Persistent< T, M >::Persistent ( )
inline

A Persistent with no storage cell.

Definition at line 664 of file v8.h.

◆ Persistent() [2/4]

template<class T, class M>
template<class S >
V8_INLINE v8::Persistent< T, M >::Persistent ( Isolate *  isolate,
Local< S >  that 
)
inline

Construct a Persistent from a Local. When the Local is non-empty, a new storage cell is created pointing to the same object, and no flags are set.

Definition at line 671 of file v8.h.

◆ Persistent() [3/4]

template<class T, class M>
template<class S , class M2 >
V8_INLINE v8::Persistent< T, M >::Persistent ( Isolate *  isolate,
const Persistent< S, M2 > &  that 
)
inline

Construct a Persistent from a Persistent. When the Persistent is non-empty, a new storage cell is created pointing to the same object, and no flags are set.

Definition at line 681 of file v8.h.

◆ Persistent() [4/4]

template<class T, class M>
V8_INLINE v8::Persistent< T, M >::Persistent ( const Persistent< T, M > &  that)
inline

The copy constructors and assignment operator create a Persistent exactly as the Persistent constructor, but the Copy function from the traits class is called, allowing the setting of flags based on the copied Persistent.

Definition at line 691 of file v8.h.

◆ ~Persistent()

template<class T, class M>
V8_INLINE v8::Persistent< T, M >::~Persistent ( )
inline

The destructor will dispose the Persistent based on the kResetInDestructor flags in the traits class. Since not calling dispose can result in a memory leak, it is recommended to always set this flag.

Definition at line 712 of file v8.h.


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