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
Eternal< T > Class Template Reference

#include <v8-persistent-handle.h>

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

Public Member Functions

V8_INLINE Eternal ()=default
 
template<class S>
requires (std::is_base_of_v<T, S>)
V8_INLINE Eternal (Isolate *isolate, Local< S > handle)
 
V8_INLINE Local< T > Get (Isolate *isolate) const
 
template<class S>
requires (std::is_base_of_v<T, S>)
void Set (Isolate *isolate, Local< S > handle)
 
- Public Member Functions inherited from IndirectHandleBase
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Clear ()
 

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::Eternal< T >

Eternal handles are set-once handles that live for the lifetime of the isolate.

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

Constructor & Destructor Documentation

◆ Eternal() [1/2]

template<class T>
V8_INLINE Eternal ( )
default

References V8_INLINE.

◆ Eternal() [2/2]

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

Constructor for handling automatic up casting.

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

References Set(), and V8_INLINE.

Member Function Documentation

◆ Get()

template<class T>
V8_INLINE Local< T > Get ( Isolate * isolate) const
inline

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

References IndirectHandleBase::slot(), and V8_INLINE.

◆ Set()

template<class T>
template<class S>
requires (std::is_base_of_v<T, S>)
void Set ( Isolate * isolate,
Local< S > handle )
inline

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

References v8::api_internal::Eternalize(), and IndirectHandleBase::slot().

Referenced by Eternal().


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