libcopp
2.3.1
Loading...
Searching...
No Matches
include
libcotask
core
standard_new_allocator.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
#include <
libcopp/utils/features.h
>
7
#include <
libcopp/utils/memory/default_smart_ptr_trait.h
>
8
9
// clang-format off
10
#include <
libcopp/utils/config/stl_include_prefix.h
>
// NOLINT(build/include_order)
11
// clang-format on
12
#include <memory>
13
// clang-format off
14
#include <
libcopp/utils/config/stl_include_suffix.h
>
// NOLINT(build/include_order)
15
// clang-format on
16
17
LIBCOPP_COTASK_NAMESPACE_BEGIN
18
namespace
core
{
19
class
LIBCOPP_COTASK_API_HEAD_ONLY
standard_new_allocator
{
20
public
:
26
template
<
class
Ty,
class
... TARGS>
27
static
LIBCOPP_COPP_NAMESPACE_ID::memory::default_strong_rc_ptr<Ty>
allocate
(Ty *, TARGS &&...args) {
28
return
LIBCOPP_COPP_NAMESPACE_ID::memory::default_make_strong<Ty>(std::forward<TARGS>(args)...);
29
}
30
31
template
<
class
Ty>
32
static
void
deallocate
(LIBCOPP_COPP_NAMESPACE_ID::memory::default_strong_rc_ptr<Ty> &) {}
33
};
34
}
// namespace core
35
LIBCOPP_COTASK_NAMESPACE_END
core::standard_new_allocator
Definition
standard_new_allocator.h:19
core::standard_new_allocator::deallocate
static void deallocate(LIBCOPP_COPP_NAMESPACE_ID::memory::default_strong_rc_ptr< Ty > &)
Definition
standard_new_allocator.h:32
core::standard_new_allocator::allocate
static LIBCOPP_COPP_NAMESPACE_ID::memory::default_strong_rc_ptr< Ty > allocate(Ty *, TARGS &&...args)
allocate a object
Definition
standard_new_allocator.h:27
default_smart_ptr_trait.h
features.h
core
Definition
standard_new_allocator.h:18
stl_include_prefix.h
stl_include_suffix.h
Generated by
1.9.8