CppInterOp
C++ Language Interoperability Layer
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
CppInterOp.h File Reference
#include "CppInterOp/CppInterOpTypes.h"
#include "CppInterOp/Box.h"
#include <initializer_list>
#include <memory>
#include <utility>
#include <vector>
#include "CppInterOp/CppInterOpDecl.inc"
Include dependency graph for CppInterOp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Cpp::VTableOverlayDeleter
 

Namespaces

namespace  Cpp
 
namespace  Cpp::detail
 

Typedefs

using Cpp::UniqueVTableOverlay = std::unique_ptr< VTableOverlay, VTableOverlayDeleter >
 

Functions

void *& Cpp::VTableOverlayExtraSlot (void *inst, std::size_t i)
 Address of the i-th extra-prefix slot of an instance with an overlay installed via MakeVTableOverlay(..., n_extra_prefix_slots = N, ...).
 
UniqueVTableOverlay Cpp::MakeUniqueVTableOverlay (void *inst, DeclRef base, std::initializer_list< std::pair< ConstFuncRef, void * > > overrides, std::size_t n_extra_prefix_slots=0, VTableOverlayDtorHook on_destroy=nullptr, void *cleanup_data=nullptr)
 Owning wrapper over MakeVTableOverlay: each pair maps a virtual method of polymorphic class base to its replacement function pointer.
 

Variables

static constexpr int Cpp::detail::kVTableOverlayPrefixSize = 2 + 1