39 lines
1.3 KiB
C++
39 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
|