v8 14.1.146 (node 25.0.0)
V8 is Google's open source JavaScript engine
Loading...
Searching...
No Matches
TracedReference< T > Class Template Reference

#include <v8-traced-handle.h>

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

Data Structures

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 BasicTracedReference< T >
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 ()
 

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::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 TracedReference ( )
default

An empty TracedReference without storage cell.

◆ TracedReference() [2/7]

template<typename T >
template<class S >
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.

References BasicTracedReference< T >::BasicTracedReference, v8::internal::kDefault, and v8::internal::kInitializingStore.

◆ TracedReference() [3/7]

template<typename T >
template<class S >
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.

References BasicTracedReference< T >::BasicTracedReference, v8::internal::kDroppable, and v8::internal::kInitializingStore.

◆ TracedReference() [4/7]

template<typename T >
V8_INLINE 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 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 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 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 > & As ( ) const
inline

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

References BasicTracedReference< T >::TracedReference.

◆ operator=() [1/6]

template<class T >
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.

References v8::internal::CopyTracedReference().

◆ operator=() [2/6]

template<typename T >
template<class S >
V8_INLINE TracedReference & 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 > & operator= ( const TracedReference< S > &  rhs)

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

◆ operator=() [4/6]

template<class T >
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.

References v8::internal::MoveTracedReference().

◆ operator=() [5/6]

template<typename T >
template<class S >
V8_INLINE TracedReference & 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 > & 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 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 Reset ( Isolate isolate,
const Local< S > &  other 
)

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

References v8::internal::kAssigningStore, and v8::internal::kDefault.

◆ Reset() [3/4]

template<typename T >
template<class S >
V8_INLINE void 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 Reset ( Isolate isolate,
const Local< S > &  other,
IsDroppable   
)

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

References v8::internal::kAssigningStore, and v8::internal::kDroppable.


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