libcopp 2.3.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
stack_allocator_split_segment.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_split_segment {
25 public:
26 stack_allocator_split_segment() LIBCOPP_MACRO_NOEXCEPT;
28 stack_allocator_split_segment(const stack_allocator_split_segment &other) LIBCOPP_MACRO_NOEXCEPT;
29 stack_allocator_split_segment &operator=(const stack_allocator_split_segment &other) LIBCOPP_MACRO_NOEXCEPT;
31 stack_allocator_split_segment &operator=(stack_allocator_split_segment &&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 gcc split segment api