15 #define ALIB_SIZEOF_INTEGER
99#if ALIB_SIZEOF_INTEGER == 4
102#elif ALIB_SIZEOF_INTEGER == 8
106 #error "Compiler symbol 'ALIB_SIZEOF_INTEGER' supports only values 4 and 8."
115#define ERROR_DETECTING \
116"Cannot detect compilation platform. Please provide Symbols \
117'ALIB_SIZEOF_INTEGER', \
118'ALIB_SIZEOF_INTGAP', \
120'ALIB_SIZEOF_LONGDOUBLE_REPORTED' or \
121'ALIB_SIZEOF_LONGDOUBLE_WRITTEN' \
122as documented with ALib User Manual at https://alib.dev"
124static_assert(
sizeof(
integer) ==
sizeof(
uinteger ) ,
"\nSize mismatch in definition of alib::[u]integer on this platform/compiler.\n" ERROR_DETECTING);
125static_assert(
sizeof(
integer) ==
sizeof(size_t ) ,
"\nSize mismatch in definition of alib::[u]integer on this platform/compiler.\n" ERROR_DETECTING);
126static_assert(
sizeof(
integer) ==
sizeof(ptrdiff_t) ,
"\nSize mismatch in definition of alib::[u]integer on this platform/compiler.\n" ERROR_DETECTING);
127static_assert(
sizeof(
integer) ==
sizeof(
void* ) ,
"\nSize mismatch in definition of alib::[u]integer on this platform/compiler.\n" ERROR_DETECTING);
128static_assert(
sizeof(
integer) ==
ALIB_SIZEOF_INTEGER ,
"\nSize mismatch in definition of alib::[u]integer on this platform/compiler.\n" ERROR_DETECTING);
129static_assert(
sizeof(
intGap_t) ==
ALIB_SIZEOF_INTGAP ,
"\nDefinition of symbol ALIB_SIZEOF_INTGAP not adjusted to platform/compiler.\n" ERROR_DETECTING);
130static_assert(
sizeof(
long double) ==
ALIB_SIZEOF_LONGDOUBLE_REPORTED,
"\nSize mismatch in definition of macro ALIB_SIZEOF_LONGDOUBLE_REPORTED on this platform/compiler.\n" ERROR_DETECTING);
134#if !defined(ALIB_SIZEOF_LONGDOUBLE_WRITTEN)
135 #error "Cannot detect compilation platform. Please provide Symbols \
136'ALIB_SIZEOF_INTEGER', \
137'ALIB_SIZEOF_INTGAP', \
139'ALIB_SIZEOF_LONGDOUBLE_REPORTED' or \
140'ALIB_SIZEOF_LONGDOUBLE_WRITTEN' \
141as documented with ALib User Manual at https://alib.dev"
167static_assert(
sizeof(
alib::integer ) ==
sizeof(std::size_t ),
"Error in ALib type definitions" );
168static_assert(std::is_signed< alib::integer>::value == std::is_signed<std::ptrdiff_t >::value,
"Error in ALib type definitions" );
169static_assert(std::is_signed< alib::integer>::value != std::is_signed<std::size_t >::value,
"Error in ALib type definitions" );
170static_assert(std::is_signed<alib::uinteger>::value == std::is_signed<std::size_t >::value,
"Error in ALib type definitions" );
171static_assert(std::is_signed<alib::uinteger>::value != std::is_signed<std::ptrdiff_t >::value,
"Error in ALib type definitions" );
#define ALIB_SIZEOF_INTEGER
#define ALIB_SIZEOF_INTGAP
#define ALIB_SIZEOF_LONGDOUBLE_REPORTED
platform_specific uintGap_t
platform_specific integer
platform_specific uinteger
platform_specific intGap_t
lang::intGap_t intGap_t
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
lang::uintGap_t uintGap_t
Type alias in namespace alib.
lang::uinteger uinteger
Type alias in namespace alib.