OpenBarnyard
 
Loading...
Searching...
No Matches
TStringTable Class Reference

#include <TStringTable.h>

Public Member Functions

 TStringTable (const TCHAR *const *strings, TINT numStrings)
 
const TCHARGetStringFromID (TINT id)
 
TINT GetStringID (const TCHAR *string)
 

Detailed Description

Definition at line 5 of file TStringTable.h.

Constructor & Destructor Documentation

◆ TStringTable()

TStringTable::TStringTable ( const TCHAR *const * strings,
TINT numStrings )
inline

Definition at line 8 of file TStringTable.h.

9 {
10 m_Strings = strings;
11 m_NumStrings = numStrings;
12 }

Member Function Documentation

◆ GetStringFromID()

const TCHAR * TStringTable::GetStringFromID ( TINT id)
inline

Definition at line 14 of file TStringTable.h.

15 {
16 TASSERT( id >= 0 && id < m_NumStrings );
17 return m_Strings[ id ];
18 }
#define TASSERT(X,...)
Definition Defines.h:138

◆ GetStringID()

TINT TStringTable::GetStringID ( const TCHAR * string)

Definition at line 12 of file TStringTable.cpp.

13{
14 {
16
17 TINT iVar2;
18 short sVar3;
19 short sVar4;
20 TINT index;
21 TINT uVar5;
22
23 sVar3 = *(short*)&m_NumStrings;
24 index = sVar3 >> 1;
25 if ( sVar3 >> 1 < 0x8000 )
26 {
27 uVar5 = 0;
28 do {
29 sVar4 = (short)index;
30 if ( sVar3 <= sVar4 )
31 {
32 return -1;
33 }
34 iVar2 = T2String8::Compare( string, m_Strings[ sVar4 ], -1 );
35 if ( iVar2 == 0 )
36 {
37 return (TINT)sVar4;
38 }
39 if ( -1 < iVar2 )
40 {
41 uVar5 = index + 1 & 0xffff;
42 sVar4 = sVar3;
43 }
44 sVar3 = sVar4;
45 index = ( ( (TINT)sVar3 - uVar5 ) >> 1 ) + uVar5 & 0xffff;
46 } while ( (short)uVar5 <= (short)index );
47 }
48
49 return -1;
50 }
51}
int TINT
Definition Typedefs.h:7
static TBOOL IsLowerCase(const TCHAR *str)
static TINT Compare(const TCHAR *str1, const TCHAR *str2, TSIZE size=-1)
Definition T2String8.cpp:52

The documentation for this class was generated from the following files: