14#include <botan/build.h>
26#if defined(_MSVC_LANG)
27 #define BOTAN_CPLUSPLUS _MSVC_LANG
29 #define BOTAN_CPLUSPLUS __cplusplus
32#if BOTAN_CPLUSPLUS < 202002L
33 #error "Botan 3.x requires at least C++20"
104#if !defined(BOTAN_IS_BEING_BUILT)
117static constexpr bool HasNative64BitRegisters =
sizeof(
void*) >= 8;
119using word = std::conditional_t<HasNative64BitRegisters, std::uint64_t, uint32_t>;
121#if defined(__SIZEOF_INT128__)
122 #define BOTAN_TARGET_HAS_NATIVE_UINT128
125__extension__
typedef unsigned __int128 uint128_t;
132static_assert(
sizeof(std::size_t) == 8 ||
sizeof(std::size_t) == 4,
"This platform has an unexpected size for size_t");
std::conditional_t< HasNative64BitRegisters, std::uint64_t, uint32_t > word
constexpr size_t DefaultBufferSize