Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxMemoryPoolFactory.h

00001 /*
00002  *  Copyright (c) 1998, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *
00006  *  Author(s):
00007  *  Dennis Koelma (koelma@wins.uva.nl)
00008  *  Edo Poll (poll@wins.uva.nl)
00009  */
00010 
00011 #ifndef HxMemoryPoolFactory_h
00012 #define HxMemoryPoolFactory_h
00013 
00014 #include "HxStd.h"
00015 #include "HxIoFwd.h"
00016 
00017 class HxMemoryPool;
00018 
00019 class HxMemoryPoolFactory
00020 {
00021 public:
00022                                 ~HxMemoryPoolFactory();
00023 
00024     static HxMemoryPoolFactory& instance();
00025     HxMemoryPool*               getMemoryPool(size_t blockSize);
00026 
00027     STD_OSTREAM&                put(STD_OSTREAM&) const;
00028 
00029 private:
00030                                 HxMemoryPoolFactory();
00031                                 HxMemoryPoolFactory(const HxMemoryPoolFactory&);
00032 
00033     HxMemoryPool*               _memoryPoolList;
00034 
00035     friend class HxMemoryPoolFactoryFriend;
00036 };
00037 
00038 inline STD_OSTREAM&
00039 operator<<(STD_OSTREAM& os, const HxMemoryPoolFactory& mpf)
00040 {
00041     return mpf.put(os);
00042 }
00043 
00044 #endif

Generated on Tue Feb 3 14:18:39 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001