haiku/headers/private/kernel/util/MallocFreeAllocator.h

31 lines
654 B
C
Raw Normal View History

#ifndef _MALLOC_FREE_ALLOCATOR_H_
#define _MALLOC_FREE_ALLOCATOR_H_
#include <util/Constructor.h>
#include <malloc.h>
template <class DataType>
class MallocFreeAllocator : public Constructor<DataType> {
public:
typedef DataType* Pointer;
typedef const DataType* ConstPointer;
typedef DataType& Reference;
typedef const DataType& ConstReference;
/*! malloc()'s an object of type \c DataType and returns a
pointer to it.
*/
Pointer Allocate() {
return reinterpret_cast<Pointer>(malloc(sizeof(DataType)));
}
/*! free()'s the given object.
*/
void Deallocate(Pointer object) {
free(object);
}
};
#endif // _MALLOC_FREE_ALLOCATOR_H_