MemoryManager.h
Go to the documentation of this file.
00001 /* ========================================================================
00002 * PROJECT: ARToolKitPlus
00003 * ========================================================================
00004 * This work is based on the original ARToolKit developed by
00005 *   Hirokazu Kato
00006 *   Mark Billinghurst
00007 *   HITLab, University of Washington, Seattle
00008 * http://www.hitl.washington.edu/artoolkit/
00009 *
00010 * Copyright of the derived and new portions of this work
00011 *     (C) 2006 Graz University of Technology
00012 *
00013 * This framework is free software; you can redistribute it and/or modify
00014 * it under the terms of the GNU General Public License as published by
00015 * the Free Software Foundation; either version 2 of the License, or
00016 * (at your option) any later version.
00017 *
00018 * This framework is distributed in the hope that it will be useful,
00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021 * GNU General Public License for more details.
00022 *
00023 * You should have received a copy of the GNU General Public License
00024 * along with this framework; if not, write to the Free Software
00025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 *
00027 * For further information please contact 
00028 *   Dieter Schmalstieg
00029 *   <schmalstieg@icg.tu-graz.ac.at>
00030 *   Graz University of Technology, 
00031 *   Institut for Computer Graphics and Vision,
00032 *   Inffeldgasse 16a, 8010 Graz, Austria.
00033 * ========================================================================
00034 ** @author   Daniel Wagner
00035 *
00036 * $Id: MemoryManager.h 164 2006-05-02 11:29:10Z daniel $
00037 * @file
00038 * ======================================================================== */
00039 
00040 
00041 #ifndef __ARTOOLKITPLUS_MEMORYMANAGER_HEADERFILE__
00042 #define __ARTOOLKITPLUS_MEMORYMANAGER_HEADERFILE__
00043 
00044 
00045 #include "ARToolKitPlus.h"
00046 
00047 
00048 namespace ARToolKitPlus
00049 {
00050 
00051 
00053 
00060 class ARTOOLKITPLUS_API MemoryManager
00061 {
00062 public:
00063         virtual ~MemoryManager() {}
00064 
00066 
00070         virtual bool init(size_t nNumInitialBytes, size_t nNumGrowBytes=0) = 0;
00071 
00073 
00077         virtual bool deinit() = 0;
00078 
00080         virtual bool didInit() = 0;
00081 
00083 
00086         virtual void* getMemory(size_t nNumBytes) = 0;
00087 
00089         virtual void releaseMemory(void* nMemoryBlock) = 0;
00090 
00092         virtual unsigned int getBytesAllocated() = 0;
00093 };
00094 
00095 
00096 }  // namespace ARToolKitPlus
00097 
00098 
00099 #endif //__ARTOOLKITPLUS_MEMORYMANAGER_HEADERFILE__


v4r_artoolkitplus
Author(s): Markus Bader
autogenerated on Wed Aug 26 2015 16:41:53