This namespace implements internals of namespace alib::boxing.
Type Index: | |
struct | BoxesAllocator |
struct | DbgStringTable |
struct | FunctionTable |
struct | StructArray |
struct | T_VTableFactory |
struct | TArrayOf |
struct | TDefaultBoxing |
struct | TNotBoxable |
struct | TPlain |
union | UnionFloatingPoints |
union | UnionIntegrals |
union | UnionPointers |
struct | VTable |
class | VTableTT |
Function Index: | |
ALIB_API void | DbgCheckIsInitialized () |
ALIB_API void | DbgCheckRegistration (detail::VTable *vtable, bool increaseUsageCounter) |
void | DbgRegisterVTable (detail::VTable *vtable, detail::VTable::DbgFactoryType productionType) |
ALIB_API char * | monoAlloc (monomem::MonoAllocator &allocator, size_t size, size_t alignment) |
Variable Index: | |
FunctionTable | DEFAULT_FUNCTIONS |
void DbgCheckIsInitialized | ( | ) |
Checks if ALib Boxing was correctly initialized. This is done with the creation of dynamic vtables, to detect global or static box objects which are initialized with data that is mapped to a type that no static vtable is defined for.
Available and used only in debug-compilations.
Definition at line 1121 of file boxing.cpp.
void DbgCheckRegistration | ( | detail::VTable * | vtable, |
bool | increaseUsageCounter ) |
Checks for doubly-defined vtables, as well as for unregistered static vtables.
Available and used only in debug-compilations.
vtable | The vtable to check. |
increaseUsageCounter | Denotes if this is a use of the vtable or just a check. |
Definition at line 1130 of file boxing.cpp.
ALIB_API void DbgRegisterVTable | ( | detail::VTable * | vtable, |
detail::VTable::DbgFactoryType | productionType ) |
Registers a virtual table for debug purposes. This function is invoked internally, when a dynamic vtable is created and when a static vtable is registered.
Statically created vtables have to be registered during bootstrap in debug-compilations. For this, macro ALIB_BOXING_BOOTSTRAP_VTABLE_DBG_REGISTER is available, which is empty in release compilations.
vtable | The vtable to register. |
productionType | Denotes whether the vtable is a static constexpr object or dynamically created from template type VTableTT. |
Definition at line 96 of file dbgboxing.cpp.
ALIB_API char * monoAlloc | ( | monomem::MonoAllocator & | allocator, |
size_t | size, | ||
size_t | alignment ) |
This detail namespace function just calls MonoAllocator::Alloc with the given parameters. The use of this function avoids the need to include headers of module ALib Monomem , by headers of module ALib Boxing .
allocator | The allocator to use. |
size | The requested size. |
alignment | The requested alignment |
Definition at line 46 of file boxes.cpp.
ALIB_API FunctionTable DEFAULT_FUNCTIONS |