• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef BOOST_STATECHART_EXAMPLE_UNIQUE_OBJECT_HPP_INCLUDED
2 #define BOOST_STATECHART_EXAMPLE_UNIQUE_OBJECT_HPP_INCLUDED
3 //////////////////////////////////////////////////////////////////////////////
4 // Copyright 2002-2006 Andreas Huber Doenni
5 // Distributed under the Boost Software License, Version 1.0. (See accompany-
6 // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 //////////////////////////////////////////////////////////////////////////////
8 
9 
10 
11 #include "UniqueObjectAllocator.hpp"
12 
13 #include <cstddef> // size_t
14 
15 
16 
17 //////////////////////////////////////////////////////////////////////////////
18 template< class Derived >
19 class UniqueObject
20 {
21   public:
22     //////////////////////////////////////////////////////////////////////////
operator new(std::size_t size)23     void * operator new( std::size_t size )
24     {
25       return UniqueObjectAllocator< Derived >::allocate( size );
26     }
27 
operator delete(void * p,std::size_t size)28     void operator delete( void * p, std::size_t size )
29     {
30       UniqueObjectAllocator< Derived >::deallocate( p, size );
31     }
32 
33   protected:
34     //////////////////////////////////////////////////////////////////////////
UniqueObject()35     UniqueObject() {}
~UniqueObject()36     ~UniqueObject() {}
37 };
38 
39 
40 
41 #endif
42