Wt  4.10.4
Public Attributes | List of all members
linb::any::vtable_type Struct Reference

Base VTable specification. More...

Public Attributes

const std::type_info &(* type )() noexcept
 The type of the object this vtable is for.
 
void(* destroy )(storage_union &) noexcept
 
void(* copy )(const storage_union &src, storage_union &dest)
 
void(* move )(storage_union &src, storage_union &dest) noexcept
 
void(* swap )(storage_union &lhs, storage_union &rhs) noexcept
 Exchanges the storage between lhs and rhs.
 

Detailed Description

Base VTable specification.

Member Data Documentation

◆ copy

void(* linb::any::vtable_type::copy) (const storage_union &src, storage_union &dest)

Copies the inner content of the src union into the yet unitialized dest union. As such, both inner objects will have the same state, but on separate memory locations.

◆ destroy

void(* linb::any::vtable_type::destroy) (storage_union &) noexcept
noexcept

Destroys the object in the union. The state of the union after this call is unspecified, caller must ensure not to use src anymore.

◆ move

void(* linb::any::vtable_type::move) (storage_union &src, storage_union &dest) noexcept
noexcept

Moves the storage from src to the yet unitialized dest union. The state of src after this call is unspecified, caller must ensure not to use src anymore.