v8  9.4.146 (node 16.15.0)
V8 is Google's open source JavaScript engine
BasicTracedReference< T > Class Template Reference

#include <v8.h>

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

Public Member Functions

Local< T > Get (Isolate *isolate) const
 
template<class S >
V8_INLINE BasicTracedReference< S > & As () const
 
T * operator-> () const
 
T * operator* () const
 
- Public Member Functions inherited from TracedReferenceBase
bool IsEmpty () const
 
V8_INLINE void Reset ()
 
V8_INLINE v8::Local< v8::ValueGet (v8::Isolate *isolate) const
 
bool IsEmptyThreadSafe () const
 
V8_INLINE void SetWrapperClassId (uint16_t class_id)
 
V8_INLINE uint16_t WrapperClassId () const
 

Friends

class EmbedderHeapTracer
 
template<typename F >
class Local
 
class Object
 
template<typename F >
class TracedGlobal
 
template<typename F >
class TracedReference
 
template<typename F >
class BasicTracedReference
 
template<typename F >
class ReturnValue
 

Additional Inherited Members

- Protected Member Functions inherited from TracedReferenceBase
void SetSlotThreadSafe (void *new_val)
 
const void * GetSlotThreadSafe () const
 
V8_EXPORT void CheckValue () const
 
- Protected Attributes inherited from TracedReferenceBase
internal::Addressval_ = nullptr
 

Detailed Description

template<typename T>
class v8::BasicTracedReference< T >

A traced handle with copy and move semantics. The handle is to be used together with |v8::EmbedderHeapTracer| or as part of GarbageCollected objects (see v8-cppgc.h) and specifies edges from C++ objects to JavaScript.

The exact semantics are:

  • Tracing garbage collections use |v8::EmbedderHeapTracer| or cppgc.
  • Non-tracing garbage collections refer to |v8::EmbedderRootsHandler::IsRoot()| whether the handle should be treated as root or not.

Note that the base class cannot be instantiated itself. Choose from

Definition at line 920 of file v8.h.

Member Function Documentation

◆ As()

V8_INLINE BasicTracedReference<S>& As ( ) const
inline

Definition at line 928 of file v8.h.

References Local< T >::BasicTracedReference.

◆ Get()

Local<T> Get ( Isolate isolate) const
inline

Construct a Local<T> from this handle.

Definition at line 925 of file v8.h.

References Local< T >::Local.

◆ operator*()

T* operator* ( ) const
inline

Definition at line 939 of file v8.h.

References TracedReferenceBase::val_.

◆ operator->()

T* operator-> ( ) const
inline

Friends And Related Function Documentation

◆ BasicTracedReference

friend class BasicTracedReference
friend

Definition at line 966 of file v8.h.

◆ EmbedderHeapTracer

friend class EmbedderHeapTracer
friend

Definition at line 957 of file v8.h.

◆ Local

friend class Local
friend

Definition at line 959 of file v8.h.

◆ Object

friend class Object
friend

Definition at line 960 of file v8.h.

◆ ReturnValue

friend class ReturnValue
friend

Definition at line 968 of file v8.h.

◆ TracedGlobal

friend class TracedGlobal
friend

Definition at line 962 of file v8.h.

◆ TracedReference

friend class TracedReference
friend

Definition at line 964 of file v8.h.


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