28 lines
496 B
C++
28 lines
496 B
C++
|
#ifndef MEMGRAPH_UTILS_MEMORY_MAKER_HPP
|
||
|
#define MEMGRAPH_UTILS_MEMORY_MAKER_HPP
|
||
|
|
||
|
#include <cstdlib>
|
||
|
|
||
|
#include "allocator.hpp"
|
||
|
|
||
|
template <class T,
|
||
|
typename... Args,
|
||
|
class allocator=fast_allocator<T>>
|
||
|
T* makeme(Args... args)
|
||
|
{
|
||
|
allocator alloc;
|
||
|
T* mem = alloc.allocate(1);
|
||
|
return new (mem) T(args...);
|
||
|
}
|
||
|
|
||
|
template <class T,
|
||
|
class allocator=fast_allocator<T>>
|
||
|
void takeme(T* mem)
|
||
|
{
|
||
|
allocator alloc;
|
||
|
mem->~T();
|
||
|
alloc.deallocate(mem, 1);
|
||
|
}
|
||
|
|
||
|
#endif
|