Main Page Modules Namespaces C++ Classes Compound List File List Index
TNL: TNL::StringTableEntry Class Reference

# TNL::StringTableEntry Class Reference

`#include <tnlNetStringTable.h>`

## Detailed Description

The StringTableEntry class encapsulates an entry in the network StringTable.

StringTableEntry instances offer several benefits over normal strings in a networked simulation. First, the ConnectionStringTable class is able to cache string transfers, meaning that recently used strings will be transmitted as string data once and then referred to by a short id bitfield thereafter. String comparison operations are also much less expensive with StringTableEntry instances as they result in just a single integer comparison.

## Public Member Functions

| StringTableEntry ()
| empty constructor gets NULL string automatically.
| StringTableEntry (const char *string, bool caseSensitive=true)
| StringTableEntry (const StringTableEntry &theString)
StringTableEntry & | operator= (const StringTableEntry &s)
StringTableEntry & | operator= (const char *string)
void | set (const char *string, bool caseSensitive=true)
void | setn (const char *string, U32 len, bool caseSensitive=true)
bool | operator== (const StringTableEntry &s) const
bool | operator!= (const StringTableEntry &s) const
bool | isNull () const
bool | isNotNull () const
bool | isValid () const
| operator bool () const
void | decRef ()
void | incRef ()
U32 | getIndex () const
const char * | getString () const

## Private Attributes

StringTableEntryId | mIndex
| index of the string table entry in the master pointer list

## Constructor & Destructor Documentation

TNL::StringTableEntry::StringTableEntry | ( |  | ) | `[inline]`

empty constructor gets NULL string automatically.

TNL::StringTableEntry::StringTableEntry | ( | const char * | string,
|  | bool | caseSensitive = `true` |
| ) |  |  | `[inline]`

TNL::StringTableEntry::StringTableEntry | ( | const StringTableEntry & | theString | ) | `[inline]`

## Member Function Documentation

StringTableEntry& TNL::StringTableEntry::operator= | ( | const StringTableEntry & | s | ) | `[inline]`

StringTableEntry& TNL::StringTableEntry::operator= | ( | const char * | string | ) | `[inline]`

void TNL::StringTableEntry::set | ( | const char * | string,
|  | bool | caseSensitive = `true` |
| ) |  |  | `[inline]`

void TNL::StringTableEntry::setn | ( | const char * | string,
|  | U32 | len,
|  | bool | caseSensitive = `true` |
| ) |  |  | `[inline]`

bool TNL::StringTableEntry::operator== | ( | const StringTableEntry & | s | ) | const`[inline]`

bool TNL::StringTableEntry::operator!= | ( | const StringTableEntry & | s | ) | const`[inline]`

bool TNL::StringTableEntry::isNull | ( |  | ) | const`[inline]`

bool TNL::StringTableEntry::isNotNull | ( |  | ) | const`[inline]`

bool TNL::StringTableEntry::isValid | ( |  | ) | const`[inline]`

TNL::StringTableEntry::operator bool | ( |  | ) | const`[inline]`

void TNL::StringTableEntry::decRef | ( |  | ) | `[inline]`

void TNL::StringTableEntry::incRef | ( |  | ) | `[inline]`

U32 TNL::StringTableEntry::getIndex | ( |  | ) | const`[inline]`

const char* TNL::StringTableEntry::getString | ( |  | ) | const`[inline]`

## Field Documentation

StringTableEntryId TNL::StringTableEntry::mIndex`[private]`

index of the string table entry in the master pointer list