platformMemory.h
Engine/source/platform/platformMemory.h
Classes:
class
Namespaces:
namespace
Detailed Description
1 2//----------------------------------------------------------------------------- 3// Copyright (c) 2012 GarageGames, LLC 4// 5// Permission is hereby granted, free of charge, to any person obtaining a copy 6// of this software and associated documentation files (the "Software"), to 7// deal in the Software without restriction, including without limitation the 8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9// sell copies of the Software, and to permit persons to whom the Software is 10// furnished to do so, subject to the following conditions: 11// 12// The above copyright notice and this permission notice shall be included in 13// all copies or substantial portions of the Software. 14// 15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21// IN THE SOFTWARE. 22//----------------------------------------------------------------------------- 23 24#ifndef _TORQUE_PLATFORM_PLATFORMMEMORY_H_ 25#define _TORQUE_PLATFORM_PLATFORMMEMORY_H_ 26 27#include "platform/platform.h" 28 29namespace Memory 30{ 31 enum EFlag 32 { 33 FLAG_Debug, 34 FLAG_Global, 35 FLAG_Static 36 }; 37 38 struct Info 39 { 40 U32 mAllocNumber; 41 U32 mAllocSize; 42 const char* mFileName; 43 U32 mLineNumber; 44 bool mIsArray; 45 bool mIsGlobal; 46 bool mIsStatic; 47 }; 48 49 void checkPtr( void* ptr ); 50 void flagCurrentAllocs( EFlag flag = FLAG_Debug ); 51 void ensureAllFreed(); 52 void dumpUnflaggedAllocs(const char *file, EFlag flag = FLAG_Debug ); 53 S32 countUnflaggedAllocs(const char *file, S32 *outUnflaggedRealloc = NULL, EFlag flag = FLAG_Debug ); 54 dsize_t getMemoryUsed(); 55 dsize_t getMemoryAllocated(); 56 void getMemoryInfo( void* ptr, Info& info ); 57 void validate(); 58} 59 60#endif // _TORQUE_PLATFORM_PLATFORMMEMORY_H_ 61