BLVariantImpl Struct Reference

Variant [C Interface - Impl].

Please note that this impl defines just the layout of any Value-based or Object-based Impl. Members not defined by the layout can be used to store any data.

Public Members

Member Data Documentation

const void* BLVariantImpl::virt

Virtual function table (only available to impls with BL_IMPL_TRAIT_VIRT trait).

uintptr_t BLVariantImpl::unknownHeaderData

Space reserved for object/value header other than virtual function table.

This is always capacity when the Impl is a container, otherwise it's implementation dependent what this field is.

union {... }

Union that provides either one virt table pointer or an arbitrary header if the object doesn't have virtual function table.

volatile size_t BLVariantImpl::refCount

Reference count.

uint8_t BLVariantImpl::implType

Impl type, see BLImplType.

uint8_t BLVariantImpl::implTraits

Traits of this impl, see BLImplTraits.

uint16_t BLVariantImpl::memPoolData

Memory pool data, zero if not mem-pooled.

uint8_t BLVariantImpl::reserved[4]

Reserved data (padding) that is free to be used by the Impl.