RakNet::RakString Class Reference

String class Has the following improvements over std::string Reference counting: Suitable to store in lists Varidic assignment operator Doesn't cause linker errors. More...

#include <RakString.h>

List of all members.

Public Member Functions

 RakString ()
 Constructors.
 operator const char * () const
 Implicit return of const char*.
const char * C_String (void) const
 Same as std::string::c_str.
RakStringoperator= (const RakString &rhs)
 Assigment operators.
RakStringoperator+= (const RakString &rhs)
 Concatenation.
unsigned char operator[] (const unsigned int position) const
 Character index. Do not use to change the string however.
bool operator== (const RakString &rhs) const
 Equality.
bool operator!= (const RakString &rhs) const
 Inequality.
const char * ToLower (void)
 Change all characters to lowercase.
const char * ToUpper (void)
 Change all characters to uppercase.
void Set (const char *format,...)
 Set the value of the string.
bool IsEmpty (void) const
 Returns if the string is empty. Also, C_String() would return "".
size_t GetLength (void) const
 Returns the length of the string.
void Replace (unsigned index, unsigned count, unsigned char c)
 Replace character(s) in starting at index, for count, with c.
void SetChar (unsigned index, unsigned char c)
 Replace character at index with c.
void SetChar (unsigned index, RakNet::RakString s)
 Replace character at index with string s.
void Erase (unsigned int index, unsigned int count)
 Erase characters out of the string at index for count.
int StrCmp (const RakString &rhs) const
 Compare strings (case sensitive).
int StrICmp (const RakString &rhs) const
 Compare strings (not case sensitive).
void Clear (void)
 Clear the string.
void Printf (void)
 Print the string to the screen.
void FPrintf (FILE *fp)
 Print the string to a file.
bool IPAddressMatch (const char *IP)
 Does the given IP address match the IP address encoded into this string, accounting for wildcards?
bool ContainsNonprintableExceptSpaces (void) const
 Does the string contain non-printable characters other than spaces?
bool IsEmailAddress (void) const
 Is this a valid email address?
void URLEncode (void)
 URL Encode the string. See http://www.codeguru.com/cpp/cpp/cpp_mfc/article.php/c4029/.
void Serialize (BitStream *bs)
void SerializeCompressed (BitStream *bs, int languageId=0, bool writeLanguageId=false)
bool Deserialize (BitStream *bs)
bool DeserializeCompressed (BitStream *bs, bool readLanguageId=false)

Static Public Member Functions

static void FreeMemory (void)
static void Serialize (const char *str, BitStream *bs)
 Static version of the Serialize function.
static void SerializeCompressed (const char *str, BitStream *bs, int languageId=0, bool writeLanguageId=false)
 Static version of the SerializeCompressed function.
static bool Deserialize (char *str, BitStream *bs)
 Static version of the Deserialize() function.
static bool DeserializeCompressed (char *str, BitStream *bs, bool readLanguageId=false)
 Static version of the DeserializeCompressed() function.

Static Public Attributes

static unsigned int nPos = (unsigned int) -1
 Means undefined position.


Detailed Description

String class Has the following improvements over std::string Reference counting: Suitable to store in lists Varidic assignment operator Doesn't cause linker errors.

Member Function Documentation

bool RakString::Deserialize ( BitStream bs  ) 

Deserialize what was written by Serialize

Parameters:
[in] bs Bitstream to serialize from
Returns:
true if the deserialization was successful

bool RakString::DeserializeCompressed ( BitStream bs,
bool  readLanguageId = false 
)

Deserialize compressed string, written by SerializeCompressed

Parameters:
[in] bs Bitstream to serialize from
[in] readLanguageId If true, looks for the variable langaugeId in the data stream. Must match what was passed to SerializeCompressed
Returns:
true if the deserialization was successful
Precondition:
StringCompressor::AddReference must have been called to instantiate the class (Happens automatically from RakPeer::Startup())

void RakString::FreeMemory ( void   )  [static]

RakString uses a freeList of old no-longer used strings Call this function to clear this memory on shutdown

void RakString::Serialize ( BitStream bs  ) 

Serialize to a bitstream, uncompressed (slightly faster)

Parameters:
[out] bs Bitstream to serialize to

void RakString::SerializeCompressed ( BitStream bs,
int  languageId = 0,
bool  writeLanguageId = false 
)

Serialize to a bitstream, compressed (better bandwidth usage)

Parameters:
[out] bs Bitstream to serialize to
[in] languageId languageId to pass to the StringCompressor class
[in] writeLanguageId encode the languageId variable in the stream. If false, 0 is assumed, and DeserializeCompressed will not look for this variable in the stream (saves bandwidth)
Precondition:
StringCompressor::AddReference must have been called to instantiate the class (Happens automatically from RakPeer::Startup())


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

Generated on Thu Apr 30 08:06:52 2009 for RakNet by  doxygen 1.5.7.1