mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2024-12-23 01:59:43 +08:00
36 lines
1.3 KiB
C
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
|