//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Pool of all per-level strings. Allocates memory for strings, // consolodating duplicates. The memory is freed on behalf of //clients at level transition. Strings are of type string_t. // // $NoKeywords: $ //=============================================================================// #ifndef GAMESTRINGPOOL_H #define GAMESTRINGPOOL_H #if defined(_WIN32) #pragma once #endif //----------------------------------------------------------------------------- // String allocation //----------------------------------------------------------------------------- string_t AllocPooledString(const char *pszValue); string_t AllocPooledString_StaticConstantStringPointer( const char *pszGlobalConstValue); string_t FindPooledString(const char *pszValue); #define AssertIsValidString(s) \ AssertMsg(s == NULL_STRING || s == FindPooledString(STRING(s)), \ "Invalid string " #s); #ifndef GC //----------------------------------------------------------------------------- // String system accessor //----------------------------------------------------------------------------- class IGameSystem; IGameSystem *GameStringSystem(); #endif // #ifndef GC #endif // GAMESTRINGPOOL_H