v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::TracedReference< T > Class Template Reference

#include <v8-traced-handle.h>

Inheritance diagram for v8::TracedReference< T >:
Collaboration diagram for v8::TracedReference< T >:

Classes

struct  IsDroppable
 

Public Member Functions

V8_INLINE TracedReference ()=default
 
template<class S >
 TracedReference (Isolate *isolate, Local< S > that)
 
template<class S >
 TracedReference (Isolate *isolate, Local< S > that, IsDroppable)
 
V8_INLINE TracedReference (TracedReference &&other) noexcept
 
template<typename S >
V8_INLINE TracedReference (TracedReference< S > &&other) noexcept
 
V8_INLINE TracedReference (const TracedReference &other)
 
template<typename S >
V8_INLINE TracedReference (const TracedReference< S > &other)
 
V8_INLINE TracedReferenceoperator= (TracedReference &&rhs) noexcept
 
template<class S >
V8_INLINE TracedReferenceoperator= (TracedReference< S > &&rhs) noexcept
 
V8_INLINE TracedReferenceoperator= (const TracedReference &rhs)
 
template<class S >
V8_INLINE TracedReferenceoperator= (const TracedReference< S > &rhs)
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const Local< S > &other)
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const Local< S > &other, IsDroppable)
 
template<class S >
V8_INLINE TracedReference< S > & As () const
 
template<class S >
void Reset (Isolate *isolate, const Local< S > &other)
 
template<class S >
void Reset (Isolate *isolate, const Local< S > &other, IsDroppable)
 
template<class S >
TracedReference< T > & operator= (TracedReference< S > &&rhs) noexcept
 
template<class S >
TracedReference< T > & operator= (const TracedReference< S > &rhs)
 
- Public Member Functions inherited from v8::BasicTracedReference< T >
Local< TGet (Isolate *isolate) const
 
template<class S >
V8_INLINE BasicTracedReference< S > & As () const
 
- Public Member Functions inherited from v8::TracedReferenceBase
V8_INLINE void Reset ()
 
V8_INLINE Local< DataGet (Isolate *isolate) const
 
bool IsEmptyThreadSafe () const
 
- Public Member Functions inherited from v8::api_internal::IndirectHandleBase
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Clear ()
 

Additional Inherited Members

- Protected Member Functions inherited from v8::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 v8::api_internal::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 Tvalue () const
 
V8_INLINE internal::ValueHelper::InternalRepresentationType repr () const
 

Detailed Description

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

A traced handle without destructor that clears the handle. The embedder needs to ensure that the handle is not accessed once the V8 object has been reclaimed. For more details see BasicTracedReference.

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

Constructor & Destructor Documentation

◆ TracedReference() [1/7]

template<typename T >
V8_INLINE v8::TracedReference< T >::TracedReference ( )
default

An empty TracedReference without storage cell.

◆ TracedReference() [2/7]

template<typename T >
template<class S >
v8::TracedReference< T >::TracedReference ( Isolate * isolate,
Local< S > that )
inline

Construct a TracedReference from a Local.

When the Local is non-empty, a new storage cell is created pointing to the same object.

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

Here is the call graph for this function:

◆ TracedReference() [3/7]

template<typename T >
template<class S >
v8::TracedReference< T >::TracedReference ( Isolate * isolate,
Local< S > that,
IsDroppable  )
inline

Construct a droppable TracedReference from a Local. Droppable means that V8 is free to reclaim the pointee if it is unmodified and otherwise unreachable

When the Local is non-empty, a new storage cell is created pointing to the same object.

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

Here is the call graph for this function:

◆ TracedReference() [4/7]

template<typename T >
V8_INLINE v8::TracedReference< T >::TracedReference ( TracedReference< T > && other)
inlinenoexcept

Move constructor initializing TracedReference from an existing one.

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

◆ TracedReference() [5/7]

template<typename T >
template<typename S >
V8_INLINE v8::TracedReference< T >::TracedReference ( TracedReference< S > && other)
inlinenoexcept

Move constructor initializing TracedReference from an existing one.

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

◆ TracedReference() [6/7]

template<typename T >
V8_INLINE v8::TracedReference< T >::TracedReference ( const TracedReference< T > & other)
inline

Copy constructor initializing TracedReference from an existing one.

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

◆ TracedReference() [7/7]

template<typename T >
template<typename S >
V8_INLINE v8::TracedReference< T >::TracedReference ( const TracedReference< S > & other)
inline

Copy constructor initializing TracedReference from an existing one.

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

Member Function Documentation

◆ As()

template<typename T >
template<class S >
V8_INLINE TracedReference< S > & v8::TracedReference< T >::As ( ) const
inline

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

◆ operator=() [1/6]

template<class T >
TracedReference< T > & v8::TracedReference< T >::operator= ( const TracedReference< T > & rhs)

Copy assignment operator initializing TracedReference from an existing one.

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

Here is the call graph for this function:

◆ operator=() [2/6]

template<typename T >
template<class S >
V8_INLINE TracedReference & v8::TracedReference< T >::operator= ( const TracedReference< S > & rhs)

Copy assignment operator initializing TracedReference from an existing one.

◆ operator=() [3/6]

template<typename T >
template<class S >
TracedReference< T > & v8::TracedReference< T >::operator= ( const TracedReference< S > & rhs)

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

◆ operator=() [4/6]

template<class T >
TracedReference< T > & v8::TracedReference< T >::operator= ( TracedReference< T > && rhs)
noexcept

Move assignment operator initializing TracedReference from an existing one.

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

Here is the call graph for this function:

◆ operator=() [5/6]

template<typename T >
template<class S >
V8_INLINE TracedReference & v8::TracedReference< T >::operator= ( TracedReference< S > && rhs)
noexcept

Move assignment operator initializing TracedReference from an existing one.

◆ operator=() [6/6]

template<typename T >
template<class S >
TracedReference< T > & v8::TracedReference< T >::operator= ( TracedReference< S > && rhs)
noexcept

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

◆ Reset() [1/4]

template<typename T >
template<class S >
V8_INLINE void v8::TracedReference< T >::Reset ( Isolate * isolate,
const Local< S > & other )

Always resets the reference. Creates a new reference from other if it is non-empty.

◆ Reset() [2/4]

template<typename T >
template<class S >
void v8::TracedReference< T >::Reset ( Isolate * isolate,
const Local< S > & other )

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

◆ Reset() [3/4]

template<typename T >
template<class S >
V8_INLINE void v8::TracedReference< T >::Reset ( Isolate * isolate,
const Local< S > & other,
IsDroppable  )

Always resets the reference. Creates a new reference from other if it is non-empty. The new reference is droppable, see constructor.

◆ Reset() [4/4]

template<typename T >
template<class S >
void v8::TracedReference< T >::Reset ( Isolate * isolate,
const Local< S > & other,
IsDroppable  )

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


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