ScummVM API documentation
Common::DBCSString Class Reference

#include <dbcs-str.h>

Inheritance diagram for Common::DBCSString:
Common::BaseString< uint16 >

Public Types

typedef uint32 unsigned_type
 
- Public Types inherited from Common::BaseString< uint16 >
typedef uint16 value_type
 
typedef uint16 * iterator
 
typedef const uint16 * const_iterator
 

Public Member Functions

constexpr DBCSString ()
 
 DBCSString (const value_type *str)
 
 DBCSString (const value_type *str, uint32 len)
 
 DBCSString (const uint32 *str)
 
 DBCSString (const uint32 *str, uint32 len)
 
 DBCSString (const uint32 *beginP, const uint32 *endP)
 
 DBCSString (const value_type *beginP, const value_type *endP)
 
 DBCSString (const DBCSString &str)
 
 DBCSString (DBCSString &&str)
 
 DBCSString (const char *str)
 
 DBCSString (const char *str, uint32 len)
 
 DBCSString (const char *beginP, const char *endP)
 
 DBCSString (const String &str)
 
 DBCSString (value_type c)
 
DBCSStringoperator= (const DBCSString &str)
 
DBCSStringoperator= (DBCSString &&str)
 
DBCSStringoperator= (const String &str)
 
DBCSStringoperator= (const value_type *str)
 
DBCSStringoperator= (const char *str)
 
DBCSStringoperator= (value_type c)
 
DBCSStringoperator+= (const DBCSString &str)
 
DBCSStringoperator+= (const value_type *str)
 
DBCSStringoperator+= (value_type c)
 
bool operator== (const String &x) const
 
bool operator== (const char *x) const
 
bool operator!= (const String &x) const
 
bool operator!= (const char *x) const
 
String convertToString () const
 
DBCSString substr (size_t pos=0, size_t len=npos) const
 
- Public Member Functions inherited from Common::BaseString< uint16 >
constexpr BaseString ()
 
 BaseString (const BaseString &str)
 
 BaseString (BaseString &&str)
 
 BaseString (const value_type *str)
 
 BaseString (const value_type *str, uint32 len)
 
 BaseString (const value_type *beginP, const value_type *endP)
 
bool operator== (const BaseString &x) const
 
bool operator== (const value_type *x) const
 
bool operator!= (const BaseString &x) const
 
bool operator!= (const value_type *x) const
 
bool operator< (const BaseString &x) const
 
bool operator< (const value_type *x) const
 
bool operator<= (const BaseString &x) const
 
bool operator<= (const value_type *x) const
 
bool operator> (const BaseString &x) const
 
bool operator> (const value_type *x) const
 
bool operator>= (const BaseString &x) const
 
bool operator>= (const value_type *x) const
 
bool equals (const BaseString &x) const
 
bool equals (const value_type *x) const
 
bool equalsC (const char *x) const
 
int compareTo (const BaseString &x) const
 
int compareTo (const value_type *x) const
 
int compareToC (const char *x) const
 
void setChar (value_type c, uint32 p)
 
void deleteChar (uint32 p)
 
void deleteLastChar ()
 
void erase (uint32 p, uint32 len=npos)
 
iterator erase (iterator it)
 
void chop (uint32 len=1)
 
void clear ()
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
const value_type * c_str () const
 
uint size () const
 
bool empty () const
 
value_type firstChar () const
 
value_type lastChar () const
 
value_type operator[] (int idx) const
 
bool contains (const BaseString &otherString) const
 
bool contains (value_type x) const
 
void insertChar (value_type c, uint32 p)
 
void insertString (const value_type *s, uint32 p)
 
void insertString (const BaseString &s, uint32 p)
 
uint32 find (value_type x, uint32 pos=0) const
 
size_t find (const value_type *s, uint32 pos=0) const
 
uint32 find (const BaseString &str, uint32 pos=0) const
 
size_t rfind (const value_type *s) const
 
size_t rfind (const BaseString &s) const
 
size_t rfind (value_type c, size_t pos=npos) const
 
size_t findFirstOf (value_type c, size_t pos=0) const
 
size_t findFirstOf (const value_type *chars, size_t pos=0) const
 
size_t findFirstOf (const BaseString &chars, size_t pos=0) const
 
size_t findLastOf (value_type c, size_t pos=npos) const
 
size_t findLastOf (const value_type *chars, size_t pos=npos) const
 
size_t findLastOf (const BaseString &chars, size_t pos=npos) const
 
size_t findFirstNotOf (value_type c, size_t pos=0) const
 
size_t findFirstNotOf (const value_type *chars, size_t pos=0) const
 
size_t findFirstNotOf (const BaseString &chars, size_t pos=0) const
 
size_t findLastNotOf (value_type c) const
 
size_t findLastNotOf (const value_type *chars) const
 
size_t findLastNotOf (const BaseString &chars) const
 
void replace (value_type from, value_type to)
 
void append (const value_type *begin, const value_type *end)
 
void wordWrap (const uint32 maxLength)
 
uint64 asUint64 () const
 
uint64 asUint64Ext () const
 
void toLowercase ()
 
void toUppercase ()
 
void trim ()
 
uint hash () const
 
void replace (uint32 pos, uint32 count, const BaseString &str)
 
void replace (uint32 pos, uint32 count, const value_type *str)
 
void replace (iterator begin, iterator end, const BaseString &str)
 
void replace (iterator begin, iterator end, const value_type *str)
 
void replace (uint32 posOri, uint32 countOri, const BaseString &str, uint32 posDest, uint32 countDest)
 
void replace (uint32 posOri, uint32 countOri, const value_type *str, uint32 posDest, uint32 countDest)
 

Additional Inherited Members

- Static Public Member Functions inherited from Common::BaseString< uint16 >
static void releaseMemoryPoolMutex ()
 
- Public Attributes inherited from Common::BaseString< uint16 >
value_type _storage [_builtinCapacity]
 
int * _refCount
 
uint32 _capacity
 
struct {
   int *   _refCount
 
   uint32   _capacity
 
_extern
 
- Static Public Attributes inherited from Common::BaseString< uint16 >
static const uint32 npos
 
- Protected Member Functions inherited from Common::BaseString< uint16 >
bool isStorageIntern () const
 
void makeUnique ()
 
void ensureCapacity (uint32 new_size, bool keep_old)
 
void incRefCount () const
 
void decRefCount (int *oldRefCount)
 
void initWithValueTypeStr (const value_type *str, uint32 len)
 
void assignInsert (const value_type *str, uint32 p)
 
void assignInsert (value_type c, uint32 p)
 
void assignInsert (const BaseString &str, uint32 p)
 
void assignAppend (const value_type *str)
 
void assignAppend (value_type c)
 
void assignAppend (const BaseString &str)
 
void assign (const BaseString &str)
 
void assign (BaseString &&str)
 
void assign (value_type c)
 
void assign (const value_type *str)
 
bool pointerInOwnBuffer (const value_type *str) const
 
uint getUnsignedValue (uint pos) const
 
void toCase (int(*caseChangeFunc)(int))
 
- Static Protected Member Functions inherited from Common::BaseString< uint16 >
static uint32 cStrLen (const value_type *str)
 
static const value_type * cMemChr (const value_type *ptr, value_type c, size_t count)
 
static value_type * cMemChr (value_type *ptr, value_type c, size_t count)
 
static int cMemCmp (const value_type *ptr1, const value_type *ptr2, size_t count)
 
- Protected Attributes inherited from Common::BaseString< uint16 >
uint32 _size
 
value_type * _str
 
union {
   value_type   _storage [_builtinCapacity]
 
   struct {
      int *   _refCount
 
      uint32   _capacity
 
   }   _extern
 
}; 
 
- Static Protected Attributes inherited from Common::BaseString< uint16 >
static const uint32 _builtinCapacity
 

Detailed Description

A simple string class for DBCS strings in ScummVM.

The presence of \0 characters in the string will cause undefined behavior in some operations.

Member Typedef Documentation

◆ unsigned_type

Unsigned version of the underlying type.

Constructor & Destructor Documentation

◆ DBCSString() [1/11]

constexpr Common::DBCSString::DBCSString ( )
inline

Construct a new empty string.

◆ DBCSString() [2/11]

Common::DBCSString::DBCSString ( const value_type *  str)
inlineexplicit

Construct a new string from the given null-terminated C string.

◆ DBCSString() [3/11]

Common::DBCSString::DBCSString ( const value_type *  str,
uint32  len 
)
inline

Construct a new string containing exactly len characters read from address str.

◆ DBCSString() [4/11]

Common::DBCSString::DBCSString ( const value_type *  beginP,
const value_type *  endP 
)
inline

Construct a new string containing the characters between beginP (including) and endP (excluding).

◆ DBCSString() [5/11]

Common::DBCSString::DBCSString ( const DBCSString str)
inline

Construct a copy of the given string.

◆ DBCSString() [6/11]

Common::DBCSString::DBCSString ( DBCSString &&  str)
inline

Construct a string by moving an existing string.

◆ DBCSString() [7/11]

Common::DBCSString::DBCSString ( const char *  str)
explicit

Construct a new string from the given null-terminated C string that uses the given page encoding.

◆ DBCSString() [8/11]

Common::DBCSString::DBCSString ( const char *  str,
uint32  len 
)

Construct a new string containing exactly len characters read from address str.

◆ DBCSString() [9/11]

Common::DBCSString::DBCSString ( const char *  beginP,
const char *  endP 
)

Construct a new string containing the characters between beginP (including) and endP (excluding).

◆ DBCSString() [10/11]

Common::DBCSString::DBCSString ( const String str)
explicit

Construct a copy of the given string.

◆ DBCSString() [11/11]

Common::DBCSString::DBCSString ( value_type  c)
explicit

Construct a string consisting of the given character.

Member Function Documentation

◆ operator=() [1/6]

DBCSString& Common::DBCSString::operator= ( const DBCSString str)

Assign a given string to this string.

◆ operator=() [2/6]

DBCSString& Common::DBCSString::operator= ( DBCSString &&  str)

Move a given string to this string.

◆ operator=() [3/6]

DBCSString& Common::DBCSString::operator= ( const String str)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [4/6]

DBCSString& Common::DBCSString::operator= ( const value_type *  str)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [5/6]

DBCSString& Common::DBCSString::operator= ( const char *  str)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator=() [6/6]

DBCSString& Common::DBCSString::operator= ( value_type  c)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator+=() [1/3]

DBCSString& Common::DBCSString::operator+= ( const DBCSString str)

Append the given string to this string.

◆ operator+=() [2/3]

DBCSString& Common::DBCSString::operator+= ( const value_type *  str)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator+=() [3/3]

DBCSString& Common::DBCSString::operator+= ( value_type  c)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator==() [1/2]

bool Common::DBCSString::operator== ( const String x) const

Check whether this string is identical to string x.

◆ operator==() [2/2]

bool Common::DBCSString::operator== ( const char *  x) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ operator!=() [1/2]

bool Common::DBCSString::operator!= ( const String x) const

Check whether this string is different than string x.

◆ operator!=() [2/2]

bool Common::DBCSString::operator!= ( const char *  x) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ convertToString()

String Common::DBCSString::convertToString ( ) const

Convert the string to the standard String represantation.

◆ substr()

DBCSString Common::DBCSString::substr ( size_t  pos = 0,
size_t  len = npos 
) const

Return a substring of this string


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