v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Global< T > Class Template Reference

#include <v8-persistent-handle.h>

Inheritance diagram for Global< T >:
Collaboration diagram for Global< T >:

Public Types

using MoveOnlyTypeForCPP03 = void
 

Public Member Functions

V8_INLINE Global ()=default
 
template<class S>
requires (std::is_base_of_v<T, S>)
V8_INLINE Global (Isolate *isolate, Local< S > that)
 
template<class S>
requires (std::is_base_of_v<T, S>)
V8_INLINE Global (Isolate *isolate, const PersistentBase< S > &that)
 
V8_INLINE Global (Global &&other)
 
V8_INLINE ~Global ()
 
template<class S>
V8_INLINE Globaloperator= (Global< S > &&rhs)
 
Global Pass ()
 
 Global (const Global &)=delete
 
void operator= (const Global &)=delete
 
template<class S>
Global< T > & operator= (Global< S > &&rhs)
 
- Public Member Functions inherited from 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 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 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
 
template<class S>
void Reset (Isolate *isolate, const Local< S > &other)
 
template<class S>
void Reset (Isolate *isolate, const PersistentBase< S > &other)
 
template<typename P>
P * ClearWeak ()
 
- Public Member Functions inherited from IndirectHandleBase
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Clear ()
 

Friends

template<class F>
class ReturnValue
 

Additional Inherited Members

- Protected Member Functions inherited from IndirectHandleBase
V8_INLINE IndirectHandleBase ()=default
 
V8_INLINE IndirectHandleBase (const IndirectHandleBase &other)=default
 
V8_INLINE IndirectHandleBaseoperator= (const IndirectHandleBase &that)=default
 
V8_INLINE IndirectHandleBase (internal::Address *location)
 
V8_INLINE internal::Address ptr () const
 
V8_INLINE internal::Address *const & slot () const
 
V8_INLINE internal::Address *& slot ()
 
template<typename T, bool check_null = false>
V8_INLINE T * value () const
 
V8_INLINE internal::ValueHelper::InternalRepresentationType repr () const
 

Detailed Description

template<class T>
class v8::Global< T >

A PersistentBase which has move semantics.

Note: Persistent class hierarchy is subject to future changes.

Definition at line 349 of file v8-persistent-handle.h.

Member Typedef Documentation

◆ MoveOnlyTypeForCPP03

template<class T>
using MoveOnlyTypeForCPP03 = void

Definition at line 399 of file v8-persistent-handle.h.

Constructor & Destructor Documentation

◆ Global() [1/5]

template<class T>
V8_INLINE Global ( )
default

A Global with no storage cell.

References V8_INLINE.

Referenced by Global(), Global(), operator=(), operator=(), and Pass().

◆ Global() [2/5]

template<class T>
template<class S>
requires (std::is_base_of_v<T, S>)
V8_INLINE Global ( Isolate * isolate,
Local< S > that )
inline

Construct a Global from a Local with automatic up casting. 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 363 of file v8-persistent-handle.h.

References PersistentBase< T >::Isolate, PersistentBase< T >::Local, V8_INLINE, and IndirectHandleBase::value().

◆ Global() [3/5]

template<class T>
template<class S>
requires (std::is_base_of_v<T, S>)
V8_INLINE Global ( Isolate * isolate,
const PersistentBase< S > & that )
inline

Construct a Global from a PersistentBase with automatic up casting. 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 374 of file v8-persistent-handle.h.

References PersistentBase< T >::Isolate, PersistentBase< T >::PersistentBase, V8_INLINE, and IndirectHandleBase::value().

◆ Global() [4/5]

template<class T>
Global ( Global< T > && other)

Move constructor.

Definition at line 532 of file v8-persistent-handle.h.

References Global(), PersistentBase< T >::PersistentBase, and IndirectHandleBase::slot().

◆ ~Global()

template<class T>
V8_INLINE ~Global ( )
inline

Definition at line 383 of file v8-persistent-handle.h.

References PersistentBase< T >::Reset(), and V8_INLINE.

◆ Global() [5/5]

template<class T>
Global ( const Global< T > & )
delete

References Global().

Member Function Documentation

◆ operator=() [1/3]

template<class T>
void operator= ( const Global< T > & )
delete

References Global().

◆ operator=() [2/3]

template<class T>
template<class S>
V8_INLINE Global & operator= ( Global< S > && rhs)

Move via assignment.

References Global(), and V8_INLINE.

◆ operator=() [3/3]

template<class T>
template<class S>
Global< T > & operator= ( Global< S > && rhs)

Definition at line 541 of file v8-persistent-handle.h.

◆ Pass()

template<class T>
Global Pass ( )
inline

Pass allows returning uniques from functions, etc.

Definition at line 394 of file v8-persistent-handle.h.

References Global().

Referenced by PersistentValueReference< K, V, Traits >::Release().

Friends And Related Symbol Documentation

◆ ReturnValue

template<class T>
template<class F>
friend class ReturnValue
friend

Definition at line 406 of file v8-persistent-handle.h.

References ReturnValue.

Referenced by ReturnValue.


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