blob: 76354ed6906952809fbccf712cfafa97cca65417 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#pragma once
#include "Runtime/Utilities/dynamic_array.h"
#include "Runtime/Threads/Mutex.h"
class ConstantStringManager
{
#define PROFILE_COMMON_STRINGS !UNITY_RELEASE
#if PROFILE_COMMON_STRINGS
typedef std::map<std::string, int> CommonStringCounter;
CommonStringCounter m_CommonStringCounter;
Mutex m_CommonStringMutex;
#endif
dynamic_array<const char*> m_Strings;
void ProfileCommonString (const char* str);
public:
ConstantStringManager ();
~ConstantStringManager ();
void AddConstantStrings (const char** strings, size_t size );
void AddConstantString (const char* strings );
const char* GetConstantString(const char* str);
const char* GetEmptyString();
// Init
static void StaticInitialize ();
static void StaticCleanup ();
void DumpCommonStrings ();
};
ConstantStringManager& GetConstantStringManager ();
|