31 lines
649 B
C
31 lines
649 B
C
|
#ifndef _MALLOC_FREE_ALLOCATOR_H_
|
||
|
#define _MALLOC_FREE_ALLOCATOR_H_
|
||
|
|
||
|
#include "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_
|