v8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Friends | List of all members
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, Handle< 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 ()
 
template<class S , class M2 >
void Copy (const Persistent< S, M2 > &that)
 
- Public Member Functions inherited from v8::PersistentBase< T >
V8_INLINE void Reset ()
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const Handle< S > &other)
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const PersistentBase< S > &other)
 
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Empty ()
 
template<class S >
V8_INLINE bool operator== (const PersistentBase< S > &that) const
 
template<class S >
V8_INLINE bool operator== (const Handle< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const PersistentBase< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const Handle< S > &that) const
 
template<typename P >
V8_INLINE V8_DEPRECATE_SOON ("use WeakCallbackInfo version", void SetWeak(P *parameter, typename WeakCallbackData< T, P >::Callback callback))
 
template<typename S , typename P >
V8_INLINE V8_DEPRECATE_SOON ("use WeakCallbackInfo version", void SetWeak(P *parameter, typename WeakCallbackData< S, P >::Callback callback))
 
template<typename P >
V8_INLINE V8_DEPRECATE_SOON ("use SetWeak", void SetPhantom(P *parameter, typename WeakCallbackInfo< P >::Callback callback, int internal_field_index1=-1, int internal_field_index2=-1))
 
template<typename P >
V8_INLINE void SetWeak (P *parameter, typename WeakCallbackInfo< P >::Callback callback, WeakCallbackType type)
 
template<typename P >
V8_INLINE P * ClearWeak ()
 
V8_INLINE void ClearWeak ()
 
V8_INLINE void MarkIndependent ()
 
V8_INLINE void MarkPartiallyDependent ()
 
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
 
template<class S >
void Reset (Isolate *isolate, const Handle< S > &other)
 
template<class S >
void Reset (Isolate *isolate, const PersistentBase< S > &other)
 
template<typename P >
void SetWeak (P *parameter, typename WeakCallbackData< T, P >::Callback callback)
 

Static Public Member Functions

template<class S >
static V8_INLINE Persistent< T > & Cast (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 bevavior is controlled by the traits class M.

Note: Persistent class hierarchy is subject to future changes.

Constructor & Destructor Documentation

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

A Persistent with no storage cell.

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

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

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.

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.

template<class T, class M>
template<class S , class M2 >
V8_INLINE v8::Persistent< T, M >::Persistent ( const Persistent< S, M2 > &  that)
inline
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.

Member Function Documentation

template<class T, class M>
template<class S >
V8_INLINE Persistent<S>& v8::Persistent< T, M >::As ( )
inline
template<class T, class M>
template<class S >
static V8_INLINE Persistent<T>& v8::Persistent< T, M >::Cast ( Persistent< S > &  that)
inlinestatic
template<class T, class M>
template<class S , class M2 >
void v8::Persistent< T, M >::Copy ( const Persistent< S, M2 > &  that)
template<class T, class M>
V8_INLINE Persistent& v8::Persistent< T, M >::operator= ( const Persistent< T, M > &  that)
inline
template<class T, class M>
template<class S , class M2 >
V8_INLINE Persistent& v8::Persistent< T, M >::operator= ( const Persistent< S, M2 > &  that)
inline

Friends And Related Function Documentation

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

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