C3D Toolkit  Kernel - 106477, Vision - 190409.106477
Класс String

Общий класс строк на основе стандарта Unicode. Подробнее...

#include <vsn_string.h>

+ Граф связей класса String:

Открытые члены

 String ()
 Конструктор по умолчанию. Создает пустой String.
 
 String (const String &str)
 Конструктор копирования из другого объекта String.
 
 String (const char *str)
 Конструктор по заданному указателю на const char.
 
 String (char *str)
 Конструктор по заданному указателю на char.
 
 String (const char *str, unsigned length)
 Конструктор по заданному указателю на const char и заданной длине.
 
 String (const wchar_t *str)
 Конструктор по заданному указателю на const wchar_t с null-terminated.
 
 String (wchar_t *str)
 Конструктор по заданному указателю на wchar_t с null-terminated.
 
 String (const WString &str)
 Конструктор по WString.
 
 String (int value)
 Конструктор по integer.
 
 String (short value)
 Конструктор по short integer.
 
 String (long value)
 Конструктор по long integer.
 
 String (long long value)
 Конструктор по long long integer.
 
 String (unsigned value)
 Конструктор по unsigned integer.
 
 String (unsigned short value)
 Конструктор по unsigned short integer.
 
 String (unsigned long value)
 Конструктор по unsigned long integer.
 
 String (unsigned long long value)
 Конструктор по unsigned long long integer.
 
 String (float value)
 Конструктор по float.
 
 String (double value)
 Конструктор по double.
 
 String (bool value)
 Конструктор по bool.
 
 String (char value)
 Конструктор по character.
 
 String (char value, unsigned length)
 Конструктор по character и длине.
 
template<class T >
 String (const T &value)
 Конструктор по произвольному типу.
 
 ~String ()
 Деструктор.
 
Stringoperator= (const String &rhs)
 Присвоить String.
 
Stringoperator= (const char *rhs)
 Присвоить указанный указатель на const char.
 
Stringoperator+= (const String &rhs)
 Присвоить и добавить указанный String.
 
Stringoperator+= (const char *rhs)
 Присвоить и добавить указанный указатель на const char.
 
Stringoperator+= (char rhs)
 Присвоить и добавить указанный символ.
 
Stringoperator+= (int rhs)
 Присвоить и добавить integer (конкатенировать как строку).
 
Stringoperator+= (short rhs)
 Присвоить и добавить short integer(конкатенировать как строку).
 
Stringoperator+= (long rhs)
 Присвоить и добавить long integer(конкатенировать как строку).
 
Stringoperator+= (long long rhs)
 Присвоить и добавить long long integer(конкатенировать как строку).
 
Stringoperator+= (unsigned rhs)
 Присвоить и добавить unsigned integer(конкатенировать как строку).
 
Stringoperator+= (unsigned short rhs)
 Присвоить и добавить unsigned unsigned integer(конкатенировать как строку).
 
Stringoperator+= (unsigned long rhs)
 Присвоить и добавить unsigned long unsigned integer(конкатенировать как строку).
 
Stringoperator+= (unsigned long long rhs)
 Присвоить и добавить long long unsigned integer(конкатенировать как строку).
 
Stringoperator+= (float rhs)
 Присвоить и добавить float(конкатенировать как строку).
 
Stringoperator+= (bool rhs)
 Присвоить и добавить bool(конкатенировать как строку).
 
template<class T >
String operator+= (const T &rhs)
 Присвоить и добавить произвольный тип(конкатенировать как строку).
 
String operator+ (const String &rhs) const
 Добавить String.
 
String operator+ (const char *rhs) const
 Добавить массив const char.
 
bool operator== (const String &rhs) const
 Проверить равенство с другой строкой.
 
bool operator!= (const String &rhs) const
 Проверить неравенство с другой строкой.
 
bool operator< (const String &rhs) const
 Проверить, что строка меньше другой строки.
 
bool operator> (const String &rhs) const
 Проверить, что строка больше другой строки.
 
bool operator== (const char *rhs) const
 Проверить соответствие со строкой const char.
 
bool operator!= (const char *rhs) const
 Проверить неравенство указанного массива.
 
bool operator< (const char *rhs) const
 Проверить, что строка меньше строки const char.
 
bool operator> (const char *rhs) const
 Проверить, что строка больше строки const char.
 
char & operator[] (unsigned index)
 Вернуть символ по индексу.
 
const char & operator[] (unsigned index) const
 Вернуть const символ по индексу.
 
char & At (unsigned index)
 Вернуть символ по индексу.
 
const char & At (unsigned index) const
 Вернуть const символ по индексу.
 
void Replace (char replaceThis, char replaceWith, bool caseSensitive=true)
 Заменить все вхождения символа.
 
void Replace (const String &replaceThis, const String &replaceWith, bool caseSensitive=true)
 Заменить все вхождения указанных строк.
 
void Replace (unsigned pos, unsigned length, const String &replaceWith)
 Заменить подстроку.
 
void Replace (unsigned pos, unsigned length, const char *replaceWith)
 Заменить подстроку по указателю const char.
 
Iterator Replace (const Iterator &start, const Iterator &end, const String &replaceWith)
 Заменить подстроку по итератору.
 
String Replaced (char replaceThis, char replaceWith, bool caseSensitive=true) const
 Вернуть строку со всеми входящими символами.
 
String Replaced (const String &replaceThis, const String &replaceWith, bool caseSensitive=true) const
 Вернуть строку со всеми входящими строками.
 
StringAppend (const String &str)
 Добавить указанную строку.
 
StringAppend (const char *str)
 Добавить указанный массив const char.
 
StringAppend (char c)
 Добавить указанный символ.
 
StringAppend (const char *str, unsigned length)
 Добавить указанный массив const char определенной длины.
 
void Insert (unsigned pos, const String &str)
 Вставить строку в указанную позицию.
 
void Insert (unsigned pos, char c)
 Вставить символ в указанную позицию.
 
Iterator Insert (const Iterator &dest, const String &str)
 Вставить строку по итератору.
 
Iterator Insert (const Iterator &dest, const Iterator &start, const Iterator &end)
 Вставить строку частично с помощью итератора.
 
Iterator Insert (const Iterator &dest, char c)
 Вставить символ по итератору.
 
void Remove (char c)
 Удалить символ.
 
void Erase (unsigned pos, unsigned length=1)
 Стереть указанную позицию определенной длины.
 
Iterator Erase (const Iterator &it)
 Стереть символ по итератору.
 
Iterator Erase (const Iterator &start, const Iterator &end)
 Стереть символы по итераторам.
 
void Resize (unsigned newLength)
 Изменить размер строки.
 
void Reserve (unsigned newCapacity)
 Установить новый запас по символам.
 
void Compact ()
 Перераспределить память.
 
void Clear ()
 Очистить строку.
 
void Swap (String &str)
 Обмен с другой строкой.
 
Iterator Begin ()
 Вернуть начальный итератор.
 
ConstIterator Begin () const
 Вернуть начальный const итератор.
 
Iterator End ()
 Вернуть конечный итератор.
 
ConstIterator End () const
 Вернуть const конечный итератор.
 
char Front () const
 Вернуть первый символ или 0, если строка пустая.
 
char Back () const
 Вернуть последний символ или 0, если строка пустая.
 
String Substring (unsigned pos) const
 Вернуть подстроку от указанной позиции до конца.
 
String Substring (unsigned pos, unsigned length) const
 Вернуть подстроку определенной длины от указанной позиции.
 
String Trimmed () const
 Вернуть строку с удаленными с начала и конца строки пробелами.
 
String ToUpper () const
 Вернуть строку в верхнем регистре.
 
String ToLower () const
 Вернуть строку в нижнем регистре.
 
std::vector< StringSplit (char separator, bool keepEmptyStrings=false) const
 Вернуть строки, разделенные указанными символами. По умолчанию не возвращает пустые строки.
 
void Join (const std::vector< String > &subStrings, const String &glue)
 Присоединить указанный вектор к существующей строке.
 
unsigned Find (const String &str, unsigned startPos=0, bool caseSensitive=true) const
 Вернуть индекс первого вхождения в строке. Если не найдено, тогда вернуть NPOS.
 
unsigned Find (char c, unsigned startPos=0, bool caseSensitive=true) const
 Вернуть индекс первого вхождения в строке, если не найдено, вернуть NPOS.
 
unsigned FindLast (const String &str, unsigned startPos=NPOS, bool caseSensitive=true) const
 Вернуть индекс последнего вхождения в строке, если не найдено, вернуть NPOS.
 
unsigned FindLast (char c, unsigned startPos=NPOS, bool caseSensitive=true) const
 Вернуть индекс последнего вхождения в строке, если не найдено, вернуть NPOS.
 
bool StartsWith (const String &str, bool caseSensitive=true) const
 Вернуть True, если строка имеет начало указанной.
 
bool EndsWith (const String &str, bool caseSensitive=true) const
 Вернуть True, если строка имеет конец указанной.
 
const char * c_str () const
 Вернуть указатель на const массив.
 
unsigned Length () const
 Вернуть длину строки.
 
unsigned Capacity () const
 Вернуть объем буфера.
 
bool IsEmpty () const
 Вернуть True, если строка пустая.
 
int Compare (const String &str, bool caseSensitive=true) const
 Вернуть True, если строки совпадают.
 
int Compare (const char *str, bool caseSensitive=true) const
 Вернуть True, если символы совпадают.
 
bool Contains (const String &str, bool caseSensitive=true) const
 Вернуть True, если есть вхождение указанной строки.
 
bool Contains (char c, bool caseSensitive=true) const
 Вернуть True, если есть вхождение указанного символа.
 
void SetUTF8FromLatin1 (const char *str)
 Построить содержимое строки в формате UTF8 с Latin1.
 
void SetUTF8FromWChar (const wchar_t *str)
 Построить содержимое строки в формате UTF8 из указанных символов.
 
unsigned LengthUTF8 () const
 Вычислить количество символов в содержимом UTF8.
 
unsigned ByteOffsetUTF8 (unsigned index) const
 Вернуть смещение байта в char в содержимом UTF8.
 
unsigned NextUTF8Char (unsigned &byteOffset) const
 Вернуть следующий символ Unicode из содержимого UTF8.
 
unsigned AtUTF8 (unsigned index) const
 Вернуть символ по индексу из содержимого UTF8.
 
void ReplaceUTF8 (unsigned index, unsigned unicodeChar)
 Заменить символ по индексу в содержимом UTF8.
 
StringAppendUTF8 (unsigned unicodeChar)
 Добавить Unicode символ в конец содержимого UTF8.
 
String SubstringUTF8 (unsigned pos) const
 Вернуть подстроку UTF8 от указанной позиции до конца строки.
 
String SubstringUTF8 (unsigned pos, unsigned length) const
 Вернуть подстроку UTF8 от указанной позиции определенной длины.
 
unsigned ToHash () const
 Вернуть хеш-значение для HashSet и HashMap.
 
StringAppendWithFormat (const char *formatString,...)
 Добавить строку с использованием форматирования.
 
StringAppendWithFormatArgs (const char *formatString, va_list args)
 Добавить строку с использованием форматирования и переменных.
 

Открытые статические члены

static std::vector< StringSplit (const char *str, char separator, bool keepEmptyStrings=false)
 Вернуть строки, разделенные указаными символами. По умолчанию не возвращает пустые строки.
 
static String Joined (const std::vector< String > &subStrings, const String &glue)
 Объединить все элементы массива в строку и вернуть строку.
 
static void EncodeUTF8 (char *&dest, unsigned unicodeChar)
 Кодирует символ Unicode в UTF8, при этом указатель будет увеличен.
 
static unsigned DecodeUTF8 (const char *&src)
 Декодирует символ Unicode из UTF8, при этом указатель будет увеличен.
 
static unsigned CStringLength (const char *str)
 Вернуть длину строки.
 
static int Compare (const char *str1, const char *str2, bool caseSensitive)
 Сравнить две строки.
 

Статические открытые данные

static const unsigned NPOS
 Для позиции.
 
static const unsigned MIN_CAPACITY = 8
 Начальный размер распределения.
 
static const String EMPTY
 Пустая строка.
 

Подробное описание

Общий класс строк на основе стандарта Unicode.

Класс String поддерживает преобразование в/из std::string, std::wstring, const char*, const wchar_t*. Отдельный класс CharArray используется для поддержки метода ToAscii () (преобразование в const char* string).


Объявления и описания членов класса находятся в файле: