8#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
9# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
26#if ALIB_MONOMEM && ALIB_CONTAINERS
30#if ALIB_MONOMEM && ALIB_CONTAINERS
60#if ALIB_FEAT_BOXING_BIJECTIVE_INTEGRALS
63 #if ALIB_SIZEOF_INTEGER == 8
77 #if ALIB_SIZEOF_INTEGER == 8
91 #if ALIB_SIZEOF_INTEGER == 8
106 #if ALIB_SIZEOF_INTEGER == 8
110 return
IsType<uint32_t >() ? (
Unbox<uint32_t >() )
119#if ALIB_FEAT_BOXING_BIJECTIVE_CHARACTERS
142 #if ALIB_FEAT_BOXING_BIJECTIVE_FLOATS
145 #if ALIB_SIZEOF_LONGDOUBLE_REPORTED <= 2 * ALIB_SIZEOF_INTEGER
153 #if ALIB_FEAT_BOXING_BIJECTIVE_FLOATS
157 #if ALIB_SIZEOF_LONGDOUBLE_REPORTED <= 2 * ALIB_SIZEOF_INTEGER
165 Box::operator bool()
const {
return Call<FIsTrue >(); }
ALIB_DLL bool operator>(Box const &rhs) const
uinteger UnboxUnsignedIntegral() const
bool IsUnsignedIntegral() const
ALIB_DLL double UnboxFloatingPoint() const
ALIB_DLL bool IsNotNull() const
integer UnboxSignedIntegral() const
bool IsFloatingPoint() const
ALIB_DLL void Clone(MonoAllocator &memory)
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) Call(TArgs &&... args) const
ALIB_DLL bool operator<(Box const &rhs) const
ALIB_DLL bool operator==(Box const &rhs) const
bool IsSignedIntegral() const
ALIB_DLL bool operator<=(Box const &rhs) const
wchar UnboxCharacter() const
ALIB_DLL size_t Hashcode() const
#define ALIB_BOXING_VTABLE_DEFINE(TMapped, Identifier)
#define IF_ALIB_MONOMEM(...)
lang::intGap_t intGap_t
Type alias in namespace alib.
characters::wchar wchar
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
lang::uintGap_t uintGap_t
Type alias in namespace alib.
boxing::Box Box
Type alias in namespace alib.
lang::uinteger uinteger
Type alias in namespace alib.
static ALIB_DLL bool ConstantTrue(const Box &)