#include "memory/allocator.h" #include template struct Vector { typedef std::vector > Type; }; namespace { class Bleh { int* m_blah; public: Bleh( int* blah ) : m_blah( blah ){ } ~Bleh(){ *m_blah = 15; } }; void TestAllocator(){ Vector::Type test; int i = 0; test.push_back( Bleh( &i ) ); } void TestNewDelete(){ { NamedAllocator allocator( "test" ); int* p = NamedNew::type( allocator ).scalar(); //new int(); NamedDelete::type( allocator ).scalar( p ); } { int* p = New().scalar( 3 ); Delete().scalar( p ); } { int* p = New().scalar( int(15.9) ); Delete().scalar( p ); } { int* p = New().vector( 15 ); // new int[15] Delete().vector( p, 15 ); } } }