Template Struct vtable

Struct Documentation

template<typename R, typename ...Args>
struct vtable

Public Types

using storage_ptr_t = void*
using invoke_ptr_t = R (*)(storage_ptr_t, Args&&...)
using process_ptr_t = void (*)(storage_ptr_t, storage_ptr_t)
using destructor_ptr_t = void (*)(storage_ptr_t)

Public Functions

inline explicit constexpr vtable() noexcept
template<typename C>
inline explicit constexpr vtable(wrapper<C>) noexcept
vtable(const vtable&) = delete
vtable(vtable&&) = delete
vtable &operator=(const vtable&) = delete
vtable &operator=(vtable&&) = delete
~vtable() = default

Public Members

const invoke_ptr_t invoke_ptr
const process_ptr_t copy_ptr
const process_ptr_t move_ptr
const destructor_ptr_t destructor_ptr