|
CppInterOp
C++ Language Interoperability Layer
|

Public Member Functions | |
| VTableOverlay (void **block, void **orig_vptr, void *inst, std::size_t n_extra) | |
| ~VTableOverlay () | |
| VTableOverlay (const VTableOverlay &)=delete | |
| VTableOverlay & | operator= (const VTableOverlay &)=delete |
| void ** | address_point () const |
| VTableOverlay ** | hidden_slot () const |
Static Public Member Functions | |
| template<class To , class From > | |
| static To | BitCastFn (From f) noexcept |
| static void ** | ReadVPtr (void *inst) |
| static void | WriteVPtr (void *inst, void **new_vptr) |
Public Attributes | |
| void ** | block |
| void ** | original_vptr |
| void * | inst |
| std::size_t | n_extra_prefix_slots |
| bool | dtor_fired = false |
| VTableOverlayDtorSlotFn | orig_dtor = nullptr |
| VTableOverlayDtorHook | cleanup = nullptr |
| void * | cleanup_data = nullptr |
Definition at line 2382 of file CppInterOp.cpp.
|
inline |
Definition at line 2394 of file CppInterOp.cpp.
References address_point(), hidden_slot(), inst, and WriteVPtr().
|
inline |
Definition at line 2403 of file CppInterOp.cpp.
References block, dtor_fired, inst, original_vptr, and WriteVPtr().
|
delete |
|
inline |
Definition at line 2411 of file CppInterOp.cpp.
References block, Cpp::detail::kVTableOverlayPrefixSize, and n_extra_prefix_slots.
Referenced by VTableOverlay().
|
inlinestaticnoexcept |
Definition at line 2421 of file CppInterOp.cpp.
|
inline |
Definition at line 2414 of file CppInterOp.cpp.
References block, and n_extra_prefix_slots.
Referenced by VTableOverlay().
|
delete |
|
inlinestatic |
Definition at line 2428 of file CppInterOp.cpp.
References inst.
Referenced by Cpp::applyVTableOverlay(), and Cpp::VTableOverlayDtorHost::Wrapper().
|
inlinestatic |
Definition at line 2431 of file CppInterOp.cpp.
References inst.
Referenced by VTableOverlay(), and ~VTableOverlay().
| void** Cpp::VTableOverlay::block |
Definition at line 2383 of file CppInterOp.cpp.
Referenced by address_point(), hidden_slot(), and ~VTableOverlay().
| VTableOverlayDtorHook Cpp::VTableOverlay::cleanup = nullptr |
Definition at line 2391 of file CppInterOp.cpp.
Referenced by Cpp::VTableOverlayDtorHost::Wrapper().
| void* Cpp::VTableOverlay::cleanup_data = nullptr |
Definition at line 2392 of file CppInterOp.cpp.
Referenced by Cpp::VTableOverlayDtorHost::Wrapper().
| bool Cpp::VTableOverlay::dtor_fired = false |
Definition at line 2387 of file CppInterOp.cpp.
Referenced by Cpp::VTableOverlayDtorHost::Wrapper(), and ~VTableOverlay().
| void* Cpp::VTableOverlay::inst |
Definition at line 2385 of file CppInterOp.cpp.
Referenced by ReadVPtr(), VTableOverlay(), WriteVPtr(), and ~VTableOverlay().
| std::size_t Cpp::VTableOverlay::n_extra_prefix_slots |
Definition at line 2386 of file CppInterOp.cpp.
Referenced by address_point(), and hidden_slot().
| VTableOverlayDtorSlotFn Cpp::VTableOverlay::orig_dtor = nullptr |
Definition at line 2390 of file CppInterOp.cpp.
Referenced by Cpp::VTableOverlayDtorHost::Wrapper().
| void** Cpp::VTableOverlay::original_vptr |
Definition at line 2384 of file CppInterOp.cpp.
Referenced by ~VTableOverlay().