3#include <libcopp/utils/config/libcopp_build_features.h>
5#ifndef WIN32_LEAN_AND_MEAN
6# define WIN32_LEAN_AND_MEAN
18#if defined(LIBCOPP_MACRO_COMPILER_MSVC)
20# pragma warning(disable : 4244 4267)
29#if __cplusplus >= 201103L
43#if defined(__x86_64__) || defined(__x86_64) || defined(__amd64__) || defined(__amd64) || defined(_M_X64) || \
48# define MIN_STACKSIZE 8 * 1024
50# define MIN_STACKSIZE 4 * 1024
53#ifdef LIBCOPP_HAS_ABI_HEADERS
54# include LIBCOPP_ABI_PREFIX
57LIBCOPP_COPP_NAMESPACE_BEGIN
60#if __cplusplus < 201103L
64 static SYSTEM_INFO si;
65 static bool inited =
false;
77 static SYSTEM_INFO si;
78 static std::once_flag flag;
79 std::call_once(flag, []() { ::GetSystemInfo(&si); });
103 std::size_t
size = 64 * 1024;
124LIBCOPP_COPP_NAMESPACE_END
126#ifdef LIBCOPP_HAS_ABI_HEADERS
127# include LIBCOPP_ABI_SUFFIX
static void system_info_(SYSTEM_INFO *si)
static std::size_t pagesize()
static SYSTEM_INFO system_info()
constexpr auto size(TCONTAINER &&container) -> decltype(container.size())
static LIBCOPP_COPP_API std::size_t default_size() LIBCOPP_MACRO_NOEXCEPT
static LIBCOPP_COPP_API std::size_t page_size() LIBCOPP_MACRO_NOEXCEPT
static LIBCOPP_COPP_API std::size_t maximum_size() LIBCOPP_MACRO_NOEXCEPT
static LIBCOPP_COPP_API std::size_t round_to_page_size(std::size_t stacksize) LIBCOPP_MACRO_NOEXCEPT
static LIBCOPP_COPP_API std::size_t minimum_size() LIBCOPP_MACRO_NOEXCEPT
static LIBCOPP_COPP_API bool is_unbounded() LIBCOPP_MACRO_NOEXCEPT