libcopp  2.2.0
stack_traits.h
Go to the documentation of this file.
1 // Copyright 2023 owent
2 
3 #pragma once
4 
5 #include <libcopp/utils/config/libcopp_build_features.h>
6 
7 #include <libcopp/utils/config/libcopp_build_features.h>
9 
10 // clang-format off
11 #include <libcopp/utils/config/stl_include_prefix.h> // NOLINT(build/include_order)
12 // clang-format on
13 #include <cstddef>
14 // clang-format off
15 #include <libcopp/utils/config/stl_include_suffix.h> // NOLINT(build/include_order)
16 // clang-format on
17 
18 #ifdef COPP_HAS_ABI_HEADERS
19 # include COPP_ABI_PREFIX
20 #endif
21 
22 LIBCOPP_COPP_NAMESPACE_BEGIN
23 struct stack_traits {
24  static LIBCOPP_COPP_API bool is_unbounded() LIBCOPP_MACRO_NOEXCEPT;
25 
26  static LIBCOPP_COPP_API std::size_t page_size() LIBCOPP_MACRO_NOEXCEPT;
27 
28  static LIBCOPP_COPP_API std::size_t default_size() LIBCOPP_MACRO_NOEXCEPT;
29 
30  static LIBCOPP_COPP_API std::size_t minimum_size() LIBCOPP_MACRO_NOEXCEPT;
31 
32  static LIBCOPP_COPP_API std::size_t maximum_size() LIBCOPP_MACRO_NOEXCEPT;
33 
34  static LIBCOPP_COPP_API std::size_t round_to_page_size(std::size_t stacksize) LIBCOPP_MACRO_NOEXCEPT;
35 };
36 
37 LIBCOPP_COPP_NAMESPACE_END
38 
39 #ifdef COPP_HAS_ABI_HEADERS
40 # include COPP_ABI_SUFFIX
41 #endif
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