libcopp 2.3.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
stack_allocator_windows.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
8
9#include <cstddef>
10
11#ifdef LIBCOPP_HAS_ABI_HEADERS
12# include LIBCOPP_ABI_PREFIX
13#endif
14
15LIBCOPP_COPP_NAMESPACE_BEGIN
16struct stack_context;
17
18namespace allocator {
19
24class LIBCOPP_COPP_API stack_allocator_windows {
25 public:
26 stack_allocator_windows() LIBCOPP_MACRO_NOEXCEPT;
28 stack_allocator_windows(const stack_allocator_windows &other) LIBCOPP_MACRO_NOEXCEPT;
29 stack_allocator_windows &operator=(const stack_allocator_windows &other) LIBCOPP_MACRO_NOEXCEPT;
30 stack_allocator_windows(stack_allocator_windows &&other) LIBCOPP_MACRO_NOEXCEPT;
31 stack_allocator_windows &operator=(stack_allocator_windows &&other) LIBCOPP_MACRO_NOEXCEPT;
32
38 void allocate(stack_context &, std::size_t) LIBCOPP_MACRO_NOEXCEPT;
39
44 void deallocate(stack_context &) LIBCOPP_MACRO_NOEXCEPT;
45};
46} // namespace allocator
47LIBCOPP_COPP_NAMESPACE_END
48
49#ifdef LIBCOPP_HAS_ABI_HEADERS
50# include LIBCOPP_ABI_SUFFIX
51#endif
memory allocator this allocator will create buffer using windows api and protect it