Toolbox
snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
toolbox
util
Allocator.hpp
Go to the documentation of this file.
1
// The Reactive C++ Toolbox.
2
// Copyright (C) 2013-2019 Swirly Cloud Limited
3
// Copyright (C) 2021 Reactive Markets Limited
4
//
5
// Licensed under the Apache License, Version 2.0 (the "License");
6
// you may not use this file except in compliance with the License.
7
// You may obtain a copy of the License at
8
//
9
// http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing, software
12
// distributed under the License is distributed on an "AS IS" BASIS,
13
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
// See the License for the specific language governing permissions and
15
// limitations under the License.
16
17
#ifndef TOOLBOX_UTIL_ALLOCATOR_HPP
18
#define TOOLBOX_UTIL_ALLOCATOR_HPP
19
20
#include <
toolbox/Config.h
>
21
22
#include <cstddef>
23
24
namespace
toolbox
{
25
26
TOOLBOX_API
void
*
allocate
(std::size_t
size
);
27
TOOLBOX_API
void
deallocate
(
void
* ptr, std::size_t
size
)
noexcept
;
28
29
inline
namespace
util {
30
31
struct
Allocator
{
32
static
void
*
operator
new
(std::size_t
size
) {
return
allocate
(
size
); }
33
static
void
operator
delete
(
void
* ptr, std::size_t
size
)
noexcept
34
{
35
return
deallocate
(ptr,
size
);
36
}
37
38
protected
:
39
~Allocator
() =
default
;
40
};
41
42
}
// namespace util
43
}
// namespace toolbox
44
45
#endif
// TOOLBOX_UTIL_ALLOCATOR_HPP
Config.h
TOOLBOX_API
#define TOOLBOX_API
Definition
Config.h:39
toolbox::util::size
constexpr std::size_t size(const detail::Struct< detail::Member< TagsT, ValuesT >... > &s)
Definition
Struct.hpp:98
toolbox
Definition
Benchmark.cpp:26
toolbox::deallocate
TOOLBOX_WEAK void deallocate(void *ptr, size_t size) noexcept
Definition
Allocator.cpp:30
toolbox::allocate
TOOLBOX_WEAK void * allocate(size_t size)
Definition
Allocator.cpp:25
toolbox::Allocator
Definition
Allocator.hpp:31
toolbox::util::Allocator::~Allocator
~Allocator()=default
Generated by
1.9.8