#ifndef BOOST_STATECHART_EXAMPLE_UNIQUE_OBJECT_HPP_INCLUDED #define BOOST_STATECHART_EXAMPLE_UNIQUE_OBJECT_HPP_INCLUDED ////////////////////////////////////////////////////////////////////////////// // Copyright 2002-2006 Andreas Huber Doenni // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ////////////////////////////////////////////////////////////////////////////// #include "UniqueObjectAllocator.hpp" #include // size_t ////////////////////////////////////////////////////////////////////////////// template< class Derived > class UniqueObject { public: ////////////////////////////////////////////////////////////////////////// void * operator new( std::size_t size ) { return UniqueObjectAllocator< Derived >::allocate( size ); } void operator delete( void * p, std::size_t size ) { UniqueObjectAllocator< Derived >::deallocate( p, size ); } protected: ////////////////////////////////////////////////////////////////////////// UniqueObject() {} ~UniqueObject() {} }; #endif