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

#include <managed.h>

Inheritance diagram for v8::internal::Managed< CppType >:
Collaboration diagram for v8::internal::Managed< CppType >:

Public Member Functions

 Managed ()
 
 Managed (Address ptr)
 
V8_INLINE constexpr Managed (Address ptr, SkipTypeCheckTag)
 
Managedoperator-> ()
 
const Managedoperator-> () const
 
V8_INLINE CppType * raw ()
 
V8_INLINE const std::shared_ptr< CppType > & get ()
 
size_t estimated_size () const
 
- Public Member Functions inherited from v8::internal::Foreign
template<ExternalPointerTag tag>
Address foreign_address (IsolateForSandbox isolate) const
 
template<ExternalPointerTag tag>
Address foreign_address () const
 
template<ExternalPointerTag tag>
void set_foreign_address (IsolateForSandbox isolate, const Address value)
 
template<ExternalPointerTag tag>
void init_foreign_address (IsolateForSandbox isolate, const Address initial_value)
 
Address foreign_address_unchecked () const
 
ExternalPointerTag GetTag () const
 

Static Public Member Functions

static DirectHandle< Managed< CppType > > From (Isolate *isolate, size_t estimated_size, std::shared_ptr< CppType > shared_ptr, AllocationType allocation_type=AllocationType::kYoung)
 

Private Member Functions

ManagedPtrDestructorGetDestructor () const
 
std::shared_ptr< CppType > * GetSharedPtrPtr ()
 

Friends

class Tagged< Managed >
 

Additional Inherited Members

- Public Types inherited from v8::internal::Foreign
using BodyDescriptor
 

Detailed Description

template<typename CppType>
class v8::internal::Managed< CppType >

Definition at line 67 of file wasm-objects.h.

Constructor & Destructor Documentation

◆ Managed() [1/3]

template<typename CppType >
v8::internal::Managed< CppType >::Managed ( )
inline

Definition at line 96 of file managed.h.

◆ Managed() [2/3]

template<typename CppType >
v8::internal::Managed< CppType >::Managed ( Address ptr)
inlineexplicit

Definition at line 97 of file managed.h.

◆ Managed() [3/3]

template<typename CppType >
V8_INLINE constexpr v8::internal::Managed< CppType >::Managed ( Address ptr,
SkipTypeCheckTag  )
inlineconstexpr

Definition at line 98 of file managed.h.

Member Function Documentation

◆ estimated_size()

template<typename CppType >
size_t v8::internal::Managed< CppType >::estimated_size ( ) const
inline

Definition at line 113 of file managed.h.

◆ From()

template<class CppType >
DirectHandle< Managed< CppType > > v8::internal::Managed< CppType >::From ( Isolate * isolate,
size_t estimated_size,
std::shared_ptr< CppType > shared_ptr,
AllocationType allocation_type = AllocationType::kYoung )
static

Definition at line 27 of file managed-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get()

template<typename CppType >
V8_INLINE const std::shared_ptr< CppType > & v8::internal::Managed< CppType >::get ( )
inline

Definition at line 110 of file managed.h.

◆ GetDestructor()

template<typename CppType >
ManagedPtrDestructor * v8::internal::Managed< CppType >::GetDestructor ( ) const
inlineprivate

Definition at line 127 of file managed.h.

◆ GetSharedPtrPtr()

template<typename CppType >
std::shared_ptr< CppType > * v8::internal::Managed< CppType >::GetSharedPtrPtr ( )
inlineprivate

Definition at line 132 of file managed.h.

◆ operator->() [1/2]

template<typename CppType >
Managed * v8::internal::Managed< CppType >::operator-> ( )
inline

Definition at line 103 of file managed.h.

◆ operator->() [2/2]

template<typename CppType >
const Managed * v8::internal::Managed< CppType >::operator-> ( ) const
inline

Definition at line 104 of file managed.h.

◆ raw()

template<typename CppType >
V8_INLINE CppType * v8::internal::Managed< CppType >::raw ( )
inline

Definition at line 107 of file managed.h.

Friends And Related Symbol Documentation

◆ Tagged< Managed >

template<typename CppType >
friend class Tagged< Managed >
friend

Definition at line 117 of file managed.h.


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