12#define UE_API ULANGCORE_API
69 return { _Data, _Data + _ByteLength };
74 return (
const char *)_Data;
79 UE_API const SEntry * AddInternal(
const CUTF8StringView&
Text,
uint32_t BucketIndex,
bool bIsGenerated);
80 UE_API const SEntry * FindOrAddInternal(
const CUTF8StringView&
Text,
bool bIsGenerated);
83 CSymbolTable(
const CSymbolTable&) =
delete;
84 void operator = (
const CSymbolTable&) =
delete;
85 void operator = (CSymbolTable&&) =
delete;
88 CArenaAllocator _Allocator;
93 static UE_API const SEntry _EntryNull;
130 const CSymbolTable::SEntry * _Entry;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition SColorGradingComponentViewer.h:12
#define ULANG_FORCEINLINE
Definition Common.h:188
#define ULANG_ASSERTF(expr, format,...)
Definition Common.h:290
Definition SharedPointer.h:28
Database keeping track of symbols and their text equivalent.
Definition Symbol.h:27
friend class CSymbol
Definition Symbol.h:55
CSymbol Get(SymbolId Id) const
Gets a symbol by id - id must exist.
Definition Symbol.h:137
UE_API void ReAdd(CSymbol &Symbol)
Definition Symbol.cpp:142
static constexpr uint32_t MaxSymbolLength
The max length of a symbol.
Definition Symbol.h:52
UE_API CSymbol AddChecked(const CUTF8StringView &Text, bool bIsGenerated=false)
Looks up a symbol by text, and if not present yet, adds it. Asserts if text is to long.
Definition Symbol.cpp:135
UE_API ~CSymbolTable()
Definition Symbol.cpp:29
Symbol representing a text string with an associated id.
Definition Symbol.h:98
ULANG_FORCEINLINE CSymbol()
Definition Symbol.h:100
ULANG_FORCEINLINE EEquate Compare(const CSymbol &Other) const
Definition Symbol.h:111
ULANG_FORCEINLINE SymbolId GetId() const
Definition Symbol.h:102
ULANG_FORCEINLINE UTF8Char FirstByte() const
Definition Symbol.h:109
ULANG_FORCEINLINE CUTF8StringView AsStringView() const
Definition Symbol.h:107
ULANG_FORCEINLINE bool operator==(const CSymbol &Other) const
Definition Symbol.h:112
ULANG_FORCEINLINE bool IsNull() const
Definition Symbol.h:103
ULANG_FORCEINLINE bool operator>=(const CSymbol &Other) const
Definition Symbol.h:115
ULANG_FORCEINLINE bool operator!=(const CSymbol &Other) const
Definition Symbol.h:113
ULANG_FORCEINLINE bool operator<(const CSymbol &Other) const
Definition Symbol.h:116
ULANG_FORCEINLINE CUTF8String AsString() const
Definition Symbol.h:106
ULANG_FORCEINLINE friend uint32_t GetTypeHash(CSymbol Symbol)
Hash function for maps, sets.
Definition Symbol.h:120
ULANG_FORCEINLINE bool IsGenerated() const
Definition Symbol.h:104
ULANG_FORCEINLINE const char * AsCString() const
Definition Symbol.h:108
ULANG_FORCEINLINE bool operator>(const CSymbol &Other) const
Definition Symbol.h:117
ULANG_FORCEINLINE bool operator<=(const CSymbol &Other) const
Definition Symbol.h:114
Definition UTF8StringView.h:15
Definition VVMEngineEnvironment.h:23
uint32_t SymbolId
A unique id representing a symbol.
Definition Symbol.h:18
uint8_t UTF8Char
UTF-8 octet.
Definition Unicode.h:20
EEquate
Definition Common.h:367
@ SymbolId_Null
Definition Symbol.h:21
U16 Index
Definition radfft.cpp:71