memgraph/utils/memory/maker.hpp
2015-06-22 14:31:26 +02:00

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