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

#include <v8-traced-handle.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 146 of file v8-traced-handle.h.

Member Function Documentation

◆ As()

V8_INLINE BasicTracedReference<S>& As ( ) const
inline

Definition at line 154 of file v8-traced-handle.h.

References Local< T >::BasicTracedReference.

◆ Get()

Local<T> Get ( Isolate isolate) const
inline

Construct a Local<T> from this handle.

Definition at line 151 of file v8-traced-handle.h.

References HandleScope::Local.

◆ operator*()

T* operator* ( ) const
inline

Definition at line 165 of file v8-traced-handle.h.

References TracedReferenceBase::val_.

◆ operator->()

T* operator-> ( ) const
inline

Friends And Related Function Documentation

◆ BasicTracedReference

friend class BasicTracedReference
friend

Definition at line 192 of file v8-traced-handle.h.

◆ EmbedderHeapTracer

friend class EmbedderHeapTracer
friend

Definition at line 183 of file v8-traced-handle.h.

◆ Local

friend class Local
friend

Definition at line 185 of file v8-traced-handle.h.

◆ Object

friend class Object
friend

Definition at line 186 of file v8-traced-handle.h.

◆ ReturnValue

friend class ReturnValue
friend

Definition at line 194 of file v8-traced-handle.h.

◆ TracedGlobal

friend class TracedGlobal
friend

Definition at line 188 of file v8-traced-handle.h.

◆ TracedReference

friend class TracedReference
friend

Definition at line 190 of file v8-traced-handle.h.


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