|
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 |
| void(* | orig_dtor )(void *) = nullptr |
| VTableOverlayDtorHook | cleanup = nullptr |
| void * | cleanup_data = nullptr |
Definition at line 2134 of file CppInterOp.cpp.
|
inline |
Definition at line 2146 of file CppInterOp.cpp.
References address_point(), hidden_slot(), inst, and WriteVPtr().
|
inline |
Definition at line 2155 of file CppInterOp.cpp.
References block, dtor_fired, inst, original_vptr, and WriteVPtr().
|
delete |
|
inline |
Definition at line 2163 of file CppInterOp.cpp.
References block, Cpp::detail::kVTableOverlayPrefixSize, and n_extra_prefix_slots.
Referenced by VTableOverlay().
|
inlinestaticnoexcept |
Definition at line 2173 of file CppInterOp.cpp.
|
inline |
Definition at line 2166 of file CppInterOp.cpp.
References block, and n_extra_prefix_slots.
Referenced by VTableOverlay().
|
delete |
|
inlinestatic |
Definition at line 2180 of file CppInterOp.cpp.
References inst.
Referenced by Cpp::applyVTableOverlay(), and Cpp::cppinteropVTableOverlayDtorWrapper().
|
inlinestatic |
Definition at line 2183 of file CppInterOp.cpp.
References inst.
Referenced by VTableOverlay(), and ~VTableOverlay().
| void** Cpp::VTableOverlay::block |
Definition at line 2135 of file CppInterOp.cpp.
Referenced by address_point(), hidden_slot(), and ~VTableOverlay().
| VTableOverlayDtorHook Cpp::VTableOverlay::cleanup = nullptr |
Definition at line 2143 of file CppInterOp.cpp.
Referenced by Cpp::cppinteropVTableOverlayDtorWrapper().
| void* Cpp::VTableOverlay::cleanup_data = nullptr |
Definition at line 2144 of file CppInterOp.cpp.
Referenced by Cpp::cppinteropVTableOverlayDtorWrapper().
| bool Cpp::VTableOverlay::dtor_fired = false |
Definition at line 2139 of file CppInterOp.cpp.
Referenced by Cpp::cppinteropVTableOverlayDtorWrapper(), and ~VTableOverlay().
| void* Cpp::VTableOverlay::inst |
Definition at line 2137 of file CppInterOp.cpp.
Referenced by ReadVPtr(), VTableOverlay(), WriteVPtr(), and ~VTableOverlay().
| std::size_t Cpp::VTableOverlay::n_extra_prefix_slots |
Definition at line 2138 of file CppInterOp.cpp.
Referenced by address_point(), and hidden_slot().
| void(* Cpp::VTableOverlay::orig_dtor) (void *) = nullptr |
Definition at line 2142 of file CppInterOp.cpp.
Referenced by Cpp::cppinteropVTableOverlayDtorWrapper().
| void** Cpp::VTableOverlay::original_vptr |
Definition at line 2136 of file CppInterOp.cpp.
Referenced by ~VTableOverlay().