forked from OctaForge/libostd
split new implementations
This commit is contained in:
parent
6767157db9
commit
dba2ac673f
24
octa/new.h
24
octa/new.h
|
@ -1,4 +1,4 @@
|
|||
/* Default new/delete operator overloads for OctaSTD.
|
||||
/* Default new/delete operator overloads for OctaSTD. Also has an impl file.
|
||||
*
|
||||
* This file is part of OctaSTD. See COPYING.md for futher information.
|
||||
*/
|
||||
|
@ -6,28 +6,6 @@
|
|||
#ifndef OCTA_NEW_H
|
||||
#define OCTA_NEW_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
inline void *operator new(size_t size) {
|
||||
void *p = malloc(size);
|
||||
if (!p) abort();
|
||||
return p;
|
||||
}
|
||||
|
||||
inline void *operator new[](size_t size) {
|
||||
void *p = malloc(size);
|
||||
if (!p) abort();
|
||||
return p;
|
||||
}
|
||||
|
||||
inline void operator delete(void *p) {
|
||||
free(p);
|
||||
}
|
||||
|
||||
inline void operator delete[](void *p) {
|
||||
free(p);
|
||||
}
|
||||
|
||||
inline void *operator new (size_t, void *p) { return p; }
|
||||
inline void *operator new [](size_t, void *p) { return p; }
|
||||
inline void operator delete (void *, void *) {}
|
||||
|
|
26
src/new.cpp
Normal file
26
src/new.cpp
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* Default new/delete operator overloads for OctaSTD. Also has a header file.
|
||||
*
|
||||
* This file is part of OctaSTD. See COPYING.md for futher information.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
void *operator new(size_t size) noexcept {
|
||||
void *p = malloc(size);
|
||||
if (!p) abort();
|
||||
return p;
|
||||
}
|
||||
|
||||
void *operator new[](size_t size) noexcept {
|
||||
void *p = malloc(size);
|
||||
if (!p) abort();
|
||||
return p;
|
||||
}
|
||||
|
||||
void operator delete(void *p) noexcept {
|
||||
free(p);
|
||||
}
|
||||
|
||||
void operator delete[](void *p) noexcept {
|
||||
free(p);
|
||||
}
|
Loading…
Reference in a new issue