6 #ifndef swcdb_core_Malloc_h
7 #define swcdb_core_Malloc_h
20 #if !defined(__clang__)
21 #define SWC_MALLOC_NEW_ATTRIBS __attribute__((__nothrow__))
22 #define SWC_MALLOC_ATTRIBS SWC_CAN_INLINE
24 #define SWC_MALLOC_NEW_ATTRIBS
25 #define SWC_MALLOC_ATTRIBS
36 void*
allocate(
const size_t sz) noexcept;
39 void*
allocate(
const size_t sz, std::align_val_t al) noexcept;
42 void free(
void* ptr) noexcept;
51 void*
operator new(
const size_t sz)
54 void*
operator new[](
size_t sz)
57 void*
operator new(
size_t sz,
const std::nothrow_t&)
60 void*
operator new[](
size_t sz,
const std::nothrow_t&)
64 void*
operator new(
const size_t sz, std::align_val_t al)
67 void*
operator new[](
size_t sz, std::align_val_t al)
70 void*
operator new(
size_t sz, std::align_val_t al,
const std::nothrow_t&)
73 void*
operator new[](
size_t sz, std::align_val_t al,
const std::nothrow_t&)
78 void operator delete(
void* ptr) noexcept;
80 void operator delete[](
void* ptr) noexcept;
82 void operator delete(
void* ptr,
size_t sz) noexcept;
84 void operator delete[](
void* ptr,
size_t sz) noexcept;
87 void operator delete(
void* ptr, std::align_val_t al) noexcept;
89 void operator delete[](
void* ptr, std::align_val_t al) noexcept;
91 void operator delete(
void* ptr,
size_t sz, std::align_val_t al) noexcept;
93 void operator delete[](
void* ptr,
size_t sz, std::align_val_t al) noexcept;
98 void*
operator new(
const size_t sz) {
103 void*
operator new(
size_t sz,
const std::nothrow_t&) {
108 void*
operator new[](
size_t sz) {
113 void*
operator new[](
size_t sz,
const std::nothrow_t&) {
119 void*
operator new(
const size_t sz, std::align_val_t al) {
124 void*
operator new(
size_t sz, std::align_val_t al,
const std::nothrow_t&) {
129 void*
operator new[](
size_t sz, std::align_val_t al) {
134 void*
operator new[](
size_t sz, std::align_val_t al,
const std::nothrow_t&) {
141 void operator delete(
void* ptr) noexcept {
146 void operator delete[](
void* ptr) noexcept {
151 void operator delete(
void* ptr, size_t ) noexcept {
156 void operator delete[](
void* ptr, size_t ) noexcept {
162 void operator delete(
void* ptr, std::align_val_t) noexcept {
167 void operator delete[](
void* ptr, std::align_val_t) noexcept {
172 void operator delete(
void* ptr, size_t, std::align_val_t) noexcept {
177 void operator delete[](
void* ptr, size_t, std::align_val_t) noexcept {
193 #endif // swcdb_core_Malloc_h