v8  8.4.371 (node 14.15.5)
V8 is Google's open source JavaScript engine
TracedReferenceBase< T > Class Template Reference

#include <v8.h>

Inheritance diagram for TracedReferenceBase< T >:

Public Member Functions

bool IsEmpty () const
 
V8_INLINE void Reset ()
 
Local< T > Get (Isolate *isolate) const
 
template<class S >
V8_INLINE bool operator== (const TracedReferenceBase< S > &that) const
 
template<class S >
V8_INLINE bool operator== (const Local< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const TracedReferenceBase< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const Local< S > &that) const
 
V8_INLINE void SetWrapperClassId (uint16_t class_id)
 
V8_INLINE uint16_t WrapperClassId () const
 
template<class S >
V8_INLINE TracedReferenceBase< S > & As () 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 ReturnValue
 

Detailed Description

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

A traced handle with copy and move semantics. The handle is to be used together with |v8::EmbedderHeapTracer| and specifies edges from the embedder into V8's heap.

The exact semantics are:

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

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

Definition at line 839 of file v8.h.

Member Function Documentation

◆ As()

V8_INLINE TracedReferenceBase<S>& As ( ) const
inline

Definition at line 898 of file v8.h.

References Local< T >::TracedReferenceBase.

◆ Get()

Local<T> Get ( Isolate isolate) const
inline

Construct a Local<T> from this handle.

Definition at line 856 of file v8.h.

References Local< T >::Local.

◆ IsEmpty()

bool IsEmpty ( ) const
inline

Returns true if this TracedReferenceBase is empty, i.e., has not been assigned an object.

Definition at line 845 of file v8.h.

Referenced by TracedReferenceBase< T >::Reset(), TracedReferenceBase< T >::SetWrapperClassId(), and TracedReferenceBase< T >::WrapperClassId().

◆ operator!=() [1/2]

V8_INLINE bool operator!= ( const Local< S > &  that) const
inline

Definition at line 882 of file v8.h.

◆ operator!=() [2/2]

V8_INLINE bool operator!= ( const TracedReferenceBase< S > &  that) const
inline

Definition at line 877 of file v8.h.

◆ operator==() [1/2]

V8_INLINE bool operator== ( const Local< S > &  that) const
inline

Definition at line 868 of file v8.h.

◆ operator==() [2/2]

V8_INLINE bool operator== ( const TracedReferenceBase< S > &  that) const
inline

Definition at line 859 of file v8.h.

◆ Reset()

void Reset

If non-empty, destroy the underlying storage cell. |IsEmpty| will return true after this call.

Definition at line 10886 of file v8.h.

References TracedReferenceBase< T >::IsEmpty().

◆ SetWrapperClassId()

void SetWrapperClassId ( uint16_t  class_id)

Assigns a wrapper class ID to the handle.

Definition at line 10992 of file v8.h.

References TracedReferenceBase< T >::IsEmpty(), and Internals::kNodeClassIdOffset.

◆ WrapperClassId()

uint16_t WrapperClassId

Returns the class ID previously assigned to this handle or 0 if no class ID was previously assigned.

Definition at line 11001 of file v8.h.

References TracedReferenceBase< T >::IsEmpty(), and Internals::kNodeClassIdOffset.

Friends And Related Function Documentation

◆ EmbedderHeapTracer

friend class EmbedderHeapTracer
friend

Definition at line 916 of file v8.h.

◆ Local

friend class Local
friend

Definition at line 918 of file v8.h.

◆ Object

friend class Object
friend

Definition at line 919 of file v8.h.

◆ ReturnValue

friend class ReturnValue
friend

Definition at line 925 of file v8.h.

◆ TracedGlobal

friend class TracedGlobal
friend

Definition at line 921 of file v8.h.

◆ TracedReference

friend class TracedReference
friend

Definition at line 923 of file v8.h.


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