Base VTable specification.
More...
|
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.
|
|
Base VTable specification.
◆ 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.