Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
v8::TracedReference< T > Class Template Reference

#include <v8-traced-handle.h>

Inheritance diagram for v8::TracedReference< T >:
[legend]
Collaboration diagram for v8::TracedReference< T >:
[legend]

Classes

struct  IsDroppable
 

Public Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from v8::TracedReferenceBase
 TracedReferenceBase ()=default
 
void SetSlotThreadSafe (void *new_val)
 
const void * GetSlotThreadSafe () const
 
void CheckValue () const
 
- Protected Member Functions inherited from v8::api_internal::IndirectHandleBase
 IndirectHandleBase ()=default
 
 IndirectHandleBase (const IndirectHandleBase &other)=default
 
IndirectHandleBaseoperator= (const IndirectHandleBase &that)=default
 
 IndirectHandleBase (internal::Address *location)
 
internal::Address ptr () const
 
internal::Address *const & slot () const
 
internal::Address *& slot ()
 
template<typename T , bool check_null = false>
T * value () 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.

Constructor & Destructor Documentation

◆ TracedReference() [1/7]

template<typename T >
v8::TracedReference< T >::TracedReference ( )
inlinedefault

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.

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.

Here is the call graph for this function:

◆ TracedReference() [4/7]

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

Move constructor initializing TracedReference from an existing one.

◆ TracedReference() [5/7]

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

Move constructor initializing TracedReference from an existing one.

◆ TracedReference() [6/7]

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

Copy constructor initializing TracedReference from an existing one.

◆ TracedReference() [7/7]

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

Copy constructor initializing TracedReference from an existing one.

Member Function Documentation

◆ As()

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

◆ operator=() [1/6]

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

Copy assignment operator initializing TracedReference from an existing one.

Here is the call graph for this function:

◆ operator=() [2/6]

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

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)

◆ operator=() [4/6]

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

Move assignment operator initializing TracedReference from an existing one.

Here is the call graph for this function:

◆ operator=() [5/6]

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

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

◆ Reset() [1/2]

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

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

Here is the call graph for this function:

◆ Reset() [2/2]

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

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

Here is the call graph for this function:

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