1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2024-12-22 17:47:38 +08:00
hl2sdk/game/shared/gamestringpool.h
2013-06-26 15:22:04 -07:00

36 lines
1.3 KiB
C++

//========= 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