14 #ifndef FOXXLL_COMMON_TYPES_HEADER 15 #define FOXXLL_COMMON_TYPES_HEADER 19 #include <type_traits> 21 #include <foxxll/config.hpp> 25 static_assert(
sizeof(
size_t) == 8,
"FOXXLL supports only 64-bit builds");
31 template <
typename Integral>
34 return static_cast<typename std::make_unsigned<Integral>::type
>(
value);
38 template <
typename Integral>
41 return static_cast<typename std::make_signed<Integral>::type
>(
value);
46 #endif // !FOXXLL_COMMON_TYPES_HEADER int64_t external_diff_type
std::make_signed< Integral >::type as_signed(Integral value)
Return the given value casted to the corresponding signed type.
std::make_unsigned< Integral >::type as_unsigned(Integral value)
Return the given value casted to the corresponding unsigned type.
uint64_t external_size_type