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
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
 
- Public Member Functions inherited from TracedReferenceBase
V8_INLINE void Reset ()
 
V8_INLINE Local< DataGet (Isolate *isolate) const
 
bool IsEmptyThreadSafe () const
 
- Public Member Functions inherited from IndirectHandleBase
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Clear ()
 

Friends

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

Additional Inherited Members

- Protected Member Functions inherited from TracedReferenceBase
V8_INLINE TracedReferenceBase ()=default
 
void SetSlotThreadSafe (internal::Address *new_val)
 
const internal::AddressGetSlotThreadSafe () const
 
V8_EXPORT void CheckValue () const
 
- 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<typename T>
class v8::BasicTracedReference< T >

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

The exact semantics are:

  • Tracing garbage collections using CppHeap.
  • 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, use |TracedReference| instead.

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

Member Function Documentation

◆ As()

template<typename T>
template<class S>
V8_INLINE BasicTracedReference< S > & As ( ) const
inline

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

References BasicTracedReference, and V8_INLINE.

◆ Get()

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

Construct a Local<T> from this handle.

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

References Local, and Local< T >::New().

Friends And Related Symbol Documentation

◆ BasicTracedReference

template<typename T>
template<typename F>
friend class BasicTracedReference
friend

◆ Local

template<typename T>
template<typename F>
friend class Local
friend

◆ Object

template<typename T>
friend class Object
friend

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

References Object.

Referenced by Object.

◆ ReturnValue

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

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

References ReturnValue.

Referenced by ReturnValue.

◆ TracedReference

template<typename T>
template<typename F>
friend class TracedReference
friend

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

References TracedReference.

Referenced by TracedReference.


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