PIP 5.5.3
Platform-Independent Primitives
Открытые члены | Открытые статические члены | Статические открытые данные | Относящиеся к классу функции | Полный список членов класса
Класс PIString

Класс строки. Подробнее...

#include <pistring.h>

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

 PIString ()
 Создает пустую строку.
 
 PIString (const PIString &o)
 Создает копию строки.
 
 PIString (PIString &&o)
 Перемещающий конструктор.
 
 PIString (const PIChar c)
 Создает строку из одного символа "c".
 
 PIString (const char c)
 Создает строку из одного символа "c".
 
 PIString (const char *str)
 Создает строку из C-строки "str" (кодировка системы). Подробнее...
 
 PIString (const wchar_t *str)
 Создает строку из wchar_t C-строки "str". Подробнее...
 
 PIString (const char16_t *str)
 Создает строку из char16_t C-строки "str". Подробнее...
 
 PIString (const PIChar *str, const int len)
 Создает строку из "len" символов массива "str".
 
 PIString (const char *str, const int len)
 Создает строку из "len" символов массива "str" (кодировка системы). Подробнее...
 
 PIString (const int len, const char c)
 Создает строку как последовательность длиной "len" символа "c". Подробнее...
 
 PIString (const int len, const PIChar c)
 Создает строку как последовательность длиной "len" символа "c". Подробнее...
 
PIStringoperator= (const PIString &o)
 Оператор присваивания.
 
PIStringoperator= (PIString &&o)
 Оператор перемещающего присваивания.
 
PIStringoperator= (const PIConstChars &o)
 Оператор присваивания.
 
PIStringoperator= (const char *o)
 Оператор присваивания.
 
PIStringoperator= (const char16_t *o)
 Оператор присваивания.
 
bool operator== (const PIString &str) const
 Оператор сравнения.
 
bool operator== (const PIChar c) const
 Оператор сравнения.
 
bool operator== (const char *str) const
 Оператор сравнения.
 
bool operator!= (const PIString &str) const
 Оператор сравнения.
 
bool operator!= (const PIChar c) const
 Оператор сравнения.
 
bool operator!= (const char *str) const
 Оператор сравнения.
 
bool operator< (const PIString &str) const
 Оператор сравнения.
 
bool operator< (const PIChar c) const
 Оператор сравнения.
 
bool operator< (const char *str) const
 Оператор сравнения.
 
bool operator> (const PIString &str) const
 Оператор сравнения.
 
bool operator> (const PIChar c) const
 Оператор сравнения.
 
bool operator> (const char *str) const
 Оператор сравнения.
 
bool operator<= (const PIString &str) const
 Оператор сравнения.
 
bool operator<= (const PIChar c) const
 Оператор сравнения.
 
bool operator<= (const char *str) const
 Оператор сравнения.
 
bool operator>= (const PIString &str) const
 Оператор сравнения.
 
bool operator>= (const PIChar c) const
 Оператор сравнения.
 
bool operator>= (const char *str) const
 Оператор сравнения.
 
iterator begin ()
 Итератор на первый элемент. Подробнее...
 
iterator end ()
 Итератор на элемент, следующий за последним элементом. Подробнее...
 
reverse_iterator rbegin ()
 Обратный итератор на первый элемент. Подробнее...
 
reverse_iterator rend ()
 Обратный итератор на элемент, следующий за последним элементом. Подробнее...
 
PICharoperator[] (size_t index)
 Полный доступ к символу по индексу index. Подробнее...
 
const PIChar at (size_t index) const
 Доступ исключительно на чтение к символу по индексу index. Подробнее...
 
PICharback ()
 Возвращает последний символ строки.
 
PIStringresize (size_t new_size, PIChar c=PIChar())
 Устанавливает размер строки, новые символы копируются из c. Подробнее...
 
PIStringpop_back ()
 Удаляет один символ с конца строки.
 
PIStringpop_front ()
 Удаляет один символ с начала строки.
 
PIStringremove (size_t index, size_t count=1)
 Удаляет символы из строки, начиная с позиции index в количестве count.
 
PIStringfill (PIChar c=PIChar())
 Заполняет всю строку символами c.
 
PIStringprepend (const char *str)
 Вставляет "str" в начало строки.
 
PIStringprepend (const PIString &str)
 Вставляет "str" в начало строки.
 
PIStringprepend (const PIChar c)
 Вставляет символ c в начало строки.
 
PIStringprepend (const char c)
 Вставляет символ c в начало строки.
 
PIStringpush_front (const char *str)
 Вставляет "str" в начало строки.
 
PIStringpush_front (const char16_t *str)
 Вставляет "str" в начало строки.
 
PIStringpush_front (const PIString &str)
 Вставляет "str" в начало строки.
 
PIStringpush_front (const PIChar c)
 Вставляет символ c в начало строки.
 
PIStringpush_front (const char c)
 Вставляет символ c в начало строки.
 
PIStringappend (const char *str)
 Вставляет "str" в конец строки.
 
PIStringappend (const char16_t *str)
 Вставляет "str" в конец строки.
 
PIStringappend (const PIString &str)
 Вставляет "str" в конец строки.
 
PIStringappend (const PIChar c)
 Вставляет символ c в конец строки.
 
PIStringappend (const char c)
 Вставляет символ c в конец строки.
 
PIStringpush_back (const char *str)
 Вставляет "str" в конец строки.
 
PIStringpush_back (const PIString &str)
 Вставляет "str" в конец строки.
 
PIStringpush_back (const PIChar c)
 Вставляет символ c в конец строки.
 
PIStringpush_back (const char c)
 Вставляет символ c в конец строки.
 
PIString mid (int start, int len=-1) const
 Возвращает подстроку от символа "start" и максимальной длиной "len". Подробнее...
 
PIString subString (int start, int len=-1) const
 Аналог mid().
 
PIString left (int len) const
 Возвращает подстроку от начала и максимальной длиной "len". Подробнее...
 
PIString right (int len) const
 Возвращает подстроку максимальной длиной "len" и до конца. Подробнее...
 
PIStringcutMid (int start, int len)
 Удаляет часть строки от символа "start" и максимальной длины "len", возвращает эту строку. Подробнее...
 
PIStringcutLeft (int len)
 Удаляет часть строки от начала и максимальной длины "len", возвращает эту строку. Подробнее...
 
PIStringcutRight (int len)
 Удаляет часть строки максимальной длины "len" от конца, возвращает эту строку. Подробнее...
 
PIStringtrim ()
 Удаляет пробельные символы с начала и конца строки и возвращает эту строку. Подробнее...
 
PIString trimmed () const
 Возвращает копию этой строки без пробельных символов с начала и конца. Подробнее...
 
PIStringreplace (const int from, const int count, const PIString &with)
 Заменяет часть строки от символа "from" и максимальной длины "len" строкой "with", возвращает эту строку. Подробнее...
 
PIString replaced (const int from, const int count, const PIString &with) const
 Заменяет часть копии этой строки от символа "from" и максимальной длины "len" строкой "with". Подробнее...
 
PIStringreplace (const PIString &what, const PIString &with, bool *ok=0)
 Заменяет первую найденную подстроку "what" строкой "with", возвращает эту строку. Подробнее...
 
PIString replaced (const PIString &what, const PIString &with, bool *ok=0) const
 Заменяет в копии строки первую найденную подстроку "what" строкой "with". Подробнее...
 
PIStringreplaceAll (const PIString &what, const PIString &with)
 Заменяет все найденные подстроки "what" строками "with", возвращает эту строку. Подробнее...
 
PIStringreplaceAll (const PIString &what, const char with)
 Заменяет все найденные подстроки "what" символами "with", возвращает эту строку. Подробнее...
 
PIStringreplaceAll (const char what, const char with)
 Заменяет все найденные символы "what" символами "with", возвращает эту строку. Подробнее...
 
PIString replacedAll (const PIString &what, const PIString &with) const
 Заменяет в копии строки все найденные подстроки "what" строками "with". Подробнее...
 
PIString replacedAll (const PIString &what, const char with) const
 Заменяет в копии строки все найденные подстроки "what" символами "with". Подробнее...
 
PIString replacedAll (const char what, const char with) const
 Заменяет в копии строки все найденные символы "what" символами "with". Подробнее...
 
PIStringremoveAll (const PIString &str)
 Удаляет все найденные подстроки "what", возвращает эту строку.
 
PIStringremoveAll (char c)
 Удаляет все найденные символы "what", возвращает эту строку.
 
PIStringrepeat (int times)
 Повторяет содержимое строки "times" раз и возвращает эту строку. Подробнее...
 
PIString repeated (int times) const
 Возвращает повторённую "times" раз строку. Подробнее...
 
PIStringinsert (const int index, const PIChar c)
 Вставляет символ "c" после позиции "index" и возвращает эту строку. Подробнее...
 
PIStringinsert (const int index, const char c)
 Вставляет символ "c" после позиции "index" и возвращает эту строку. Подробнее...
 
PIStringinsert (const int index, const PIString &str)
 Вставляет строку "str" после позиции "index" и возвращает эту строку. Подробнее...
 
PIStringinsert (const int index, const char *c)
 Вставляет строку "str" после позиции "index" и возвращает эту строку. Подробнее...
 
PIStringinsert (const int index, const char16_t *c)
 Вставляет строку "str" после позиции "index" и возвращает эту строку. Подробнее...
 
PIStringexpandRightTo (const int len, const PIChar c)
 Увеличивает длину строки до "len" добавлением символов "c" в конец и возвращает эту строку. Подробнее...
 
PIStringexpandLeftTo (const int len, const PIChar c)
 Увеличивает длину строки до "len" добавлением символов "c" в начало и возвращает эту строку. Подробнее...
 
PIString expandedRightTo (const int len, const PIChar c) const
 Увеличивает длину копии этой строки до "len" добавлением символов "c" в конец. Подробнее...
 
PIString expandedLeftTo (const int len, const PIChar c) const
 Увеличивает длину копии этой строки до "len" добавлением символов "c" в начало. Подробнее...
 
PIStringquote (PIChar c=PIChar('"'))
 Добавляет символ "c" в начало и конец и возвращает эту строку. Подробнее...
 
PIString quoted (PIChar c=PIChar('"'))
 Возвращает копию строки с добавленным в начало и конец символом "c". Подробнее...
 
PIStringreverse ()
 Разворачивает и возвращает эту строку. Подробнее...
 
PIString reversed () const
 Разворачивает копию этой строки. Подробнее...
 
PIStringelide (int size, float pos=ElideCenter)
 Уменьшает строку до размера "size", вставляя ".." в положение "pos" и возвращает эту строку. Подробнее...
 
PIString elided (int size, float pos=ElideCenter) const
 Уменьшает копию этой строки до размера "size", вставляя ".." в положение "pos". Подробнее...
 
PIString takeMid (const int start, const int len=-1)
 Извлекает часть строки от символа "start" максимальной длины "len" и возвращает её. Подробнее...
 
PIString takeLeft (const int len)
 Извлекает часть строки от начала максимальной длины "len" и возвращает её. Подробнее...
 
PIString takeRight (const int len)
 Извлекает часть строки с конца максимальной длины "len" и возвращает её. Подробнее...
 
PIString takeSymbol ()
 Извлекает символ с начала строки и возвращает его как строку. Подробнее...
 
PIString takeWord ()
 Извлекает слово с начала строки и возвращает его. Подробнее...
 
PIString takeCWord ()
 Извлекает слово из букв, цифр и симолов '_' с начала строки и возвращает его. Подробнее...
 
PIString takeLine ()
 Извлекает строку текста (до новой строки) с начала строки и возвращает её. Подробнее...
 
PIString takeNumber ()
 Извлекает число в C-формате с начала строки и возвращает его как строку. Подробнее...
 
PIString takeInteger ()
 Извлекает цифры с начала строки и возвращает их как строку.
 
PIString takeRange (const PIChar start, const PIChar end, const PIChar shield='\\')
 Извлекает диапазон между символами "start" и "end" с начала строки и возвращает его. Подробнее...
 
PIString inBrackets (const PIChar start, const PIChar end) const
 Возвращает строку между символами "start" и "end" с начала строки. Подробнее...
 
const char * data () const
 Возвращает char * представление строки в системной кодировке. Подробнее...
 
const char * dataConsole () const
 Возвращает char * представление строки в кодировке консоли. Подробнее...
 
const char * dataUTF8 () const
 Возвращает char * представление строки в кодировке UTF-8. Подробнее...
 
const char * dataAscii () const
 Возвращает char * представление строки в кодировке ASCII. Подробнее...
 
const size_t lastDataSize () const
 Возвращает размер данных последнего вызова data*().
 
uint hash () const
 Возвращает хэш строки
 
PIByteArray toByteArray () const
 Тоже самое, что toUTF8().
 
PIByteArray toAscii () const
 Возвращает PIByteArray содержащий dataAscii() строки без завершающего нулевого байта.
 
PIByteArray toSystem () const
 Возвращает PIByteArray содержащий data() строки без завершающего нулевого байта.
 
PIByteArray toUTF8 () const
 Возвращает PIByteArray содержащий dataUTF8() строки без завершающего нулевого байта.
 
PIByteArray toCharset (const char *c) const
 Возвращает PIByteArray содержащий строку в указанной кодировке без завершающего нулевого байта.
 
PIString simplified () const
 Возвращает PIString с заменёнными '?' не-ASCII символами.
 
PIStringmask (const PIString &symbols, const PIChar mc='\\')
 Вставляет перед любым символом из "symbols" символ "mc" и возвращает эту строку.
 
PIStringunmask (const PIString &symbols, const PIChar mc='\\')
 Удаляет символ "mc" перед любым символом из "symbols" и возвращает эту строку.
 
PIStringList split (const PIString &delim) const
 Разделяет строку в PIStringList через разделитель "delim". Подробнее...
 
PIString toUpperCase () const
 Преобразует каждый символ в скопированной строке в верхний регистр.
 
PIString toLowerCase () const
 Преобразует каждый символ в скопированной строке в нижний регистр.
 
bool contains (const char c) const
 Возвращает содержит ли строка символ "c".
 
bool contains (const PIChar c) const
 Возвращает содержит ли строка символ "c".
 
bool contains (const char *str) const
 Возвращает содержит ли строка подстроку "str".
 
bool contains (const PIString &str) const
 Возвращает содержит ли строка подстроку "str".
 
bool contains (const PIRegularExpression &regexp) const
 Возвращает совпадает ли строка "regexp".
 
int find (const char c, const int start=0) const
 Ищет символ "c" от символа "start" и возвращает первое вхождение. Подробнее...
 
int find (PIChar c, const int start=0) const
 Ищет символ "c" от символа "start" и возвращает первое вхождение.
 
int find (const PIString &str, const int start=0) const
 Ищет подстроку "str" от символа "start" и возвращает первое вхождение. Подробнее...
 
int find (const char *str, const int start=0) const
 Ищет подстроку "str" от символа "start" и возвращает первое вхождение. Подробнее...
 
int find (const PIRegularExpression &regexp, const int start=0) const
 Ищет совпадение с "regexp" от символа "start" и возвращает первое вхождение.
 
int findAny (const PIString &str, const int start=0) const
 Ищет любой символ строки "str" от симола "start" и возвращает первое вхождение. Подробнее...
 
int findAny (const char *str, const int start=0) const
 Ищет любой символ строки "str" от симола "start" и возвращает первое вхождение. Подробнее...
 
int findLast (const char c, const int start=0) const
 Ищет символ "c" от символа "start" и возвращает последнее вхождение. Подробнее...
 
int findLast (PIChar c, const int start=0) const
 Ищет символ "c" от символа "start" и возвращает последнее вхождение.
 
int findLast (const PIString &str, const int start=0) const
 Ищет подстроку "str" от символа "start" и возвращает последнее вхождение. Подробнее...
 
int findLast (const char *str, const int start=0) const
 Ищет подстроку "str" от символа "start" и возвращает последнее вхождение. Подробнее...
 
int findLast (const PIRegularExpression &regexp, const int start=0) const
 Ищет совпадение с "regexp" от символа "start" и возвращает последнее вхождение.
 
int findAnyLast (const PIString &str, const int start=0) const
 Ищет любой символ строки "str" от символа "start" и возвращает последнее вхождение. Подробнее...
 
int findAnyLast (const char *str, const int start=0) const
 Ищет любой символ строки "str" от символа "start" и возвращает последнее вхождение. Подробнее...
 
int findWord (const PIString &word, const int start=0) const
 Ищет слово "word" от симола "start" и возвращает первое вхождение. Подробнее...
 
int findCWord (const PIString &word, const int start=0) const
 Ищет C-слово "word" от симола "start" и возвращает первое вхождение. Подробнее...
 
int findRange (const PIChar start, const PIChar end, const PIChar shield='\\', const int start_index=0, int *len=0) const
 Ищет начало диапазона между символами "start" и "end" от симола "start" и возвращает первое вхождение. Подробнее...
 
int entries (const PIChar c) const
 Возвращает число вхождений символа "c". Подробнее...
 
int entries (const PIString &str) const
 Возвращает число вхождений строк "str". Подробнее...
 
int lineNumber (int pos) const
 Возвращает номер строки позиции "pos". Строки начинаются с 1.
 
bool startsWith (const char c) const
 Возвращает начинается ли строка с "c".
 
bool startsWith (const PIChar c) const
 Возвращает начинается ли строка с "c".
 
bool startsWith (const PIString &str) const
 Возвращает начинается ли строка со "str".
 
bool endsWith (const char c) const
 Возвращает оканчивается ли строка на "c".
 
bool endsWith (const PIChar c) const
 Возвращает оканчивается ли строка на "c".
 
bool endsWith (const PIString &str) const
 Возвращает оканчивается ли строка на "str".
 
int length () const
 Возвращает длину строки в символах.
 
size_t size () const
 Возвращает длину строки в символах.
 
ssize_t size_s () const
 Возвращает длину строки в символах.
 
bool isEmpty () const
 Возвращает true если строка пустая, т.е. длина = 0.
 
bool isNotEmpty () const
 Возвращает true если строка непустая, т.е. длина > 0.
 
void clear ()
 Очищает строку, строка становится пустой. Подробнее...
 
bool toBool () const
 Возвращает true если строка равна "true", "yes", "on" или числу > 0. Подробнее...
 
char toChar () const
 Возвращает char числовое значение строки.
 
short toShort (int base=-1, bool *ok=0) const
 Возвращает short числовое значение строки по основанию "base". Подробнее...
 
ushort toUShort (int base=-1, bool *ok=0) const
 Возвращает ushort числовое значение строки по основанию "base". Подробнее...
 
int toInt (int base=-1, bool *ok=0) const
 Возвращает int числовое значение строки по основанию "base". Подробнее...
 
uint toUInt (int base=-1, bool *ok=0) const
 Возвращает uint числовое значение строки по основанию "base". Подробнее...
 
long toLong (int base=-1, bool *ok=0) const
 Возвращает long числовое значение строки по основанию "base". Подробнее...
 
ulong toULong (int base=-1, bool *ok=0) const
 Возвращает ulong числовое значение строки по основанию "base". Подробнее...
 
llong toLLong (int base=-1, bool *ok=0) const
 Возвращает llong числовое значение строки по основанию "base". Подробнее...
 
ullong toULLong (int base=-1, bool *ok=0) const
 Возвращает ullong числовое значение строки по основанию "base". Подробнее...
 
float toFloat () const
 Возвращает float числовое значение строки. Подробнее...
 
double toDouble () const
 Возвращает double числовое значение строки. Подробнее...
 
ldouble toLDouble () const
 Возвращает ldouble числовое значение строки. Подробнее...
 
PIStringsetNumber (const short value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const ushort value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const int value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const uint value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const long value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const ulong value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const llong &value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const ullong &value, int base=10, bool *ok=0)
 Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const float value, char format='f', int precision=8)
 Устанавливает содержимое строки в текстовое представление "value" в формате "format" и точностью "precision" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const double &value, char format='f', int precision=8)
 Устанавливает содержимое строки в текстовое представление "value" в формате "format" и точностью "precision" и возвращает эту строку. Подробнее...
 
PIStringsetNumber (const ldouble &value, char format='f', int precision=8)
 Устанавливает содержимое строки в текстовое представление "value" в формате "format" и точностью "precision" и возвращает эту строку. Подробнее...
 
PIStringsetReadableSize (llong bytes)
 Устанавливает содержимое в строку с читаемым размером B/KiB/MiB/GiB/TiB/PiB. Подробнее...
 
PIString toPercentageEncoding () const
 Возвращает URL-кодированную строку.
 
PIStringarg (const PIString &v)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку. Подробнее...
 
PIStringarg (short v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (ushort v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (int v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку. Подробнее...
 
PIStringarg (uint v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (long v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (ulong v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (llong v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (ullong v, int base=10)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (float v, char format='f', int precision=8)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
PIStringarg (double v, char format='f', int precision=8)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку. Подробнее...
 
PIStringarg (ldouble v, char format='f', int precision=8)
 Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.
 
void swap (PIString &str)
 Меняет строку str с этой строкой. Подробнее...
 

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

static PIString fromNumber (const short value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const ushort value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const int value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const uint value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const long value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const ulong value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const llong &value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const ullong &value, int base=10, bool *ok=0)
 Возвращает строковое представление числа "value" по основанию "base". Подробнее...
 
static PIString fromNumber (const float value, char format='f', int precision=8)
 Возвращает строковое представление числа "value" в формате "format" и точностью "precision". Подробнее...
 
static PIString fromNumber (const double &value, char format='f', int precision=8)
 Возвращает строковое представление числа "value" в формате "format" и точностью "precision". Подробнее...
 
static PIString fromNumber (const ldouble &value, char format='f', int precision=8)
 Возвращает строковое представление числа "value" в формате "format" и точностью "precision". Подробнее...
 
static PIString fromBool (const bool value)
 Возвращает "true" или "false".
 
static PIString fromConsole (const PIByteArray &s)
 Возвращает строку созданную из кодировки консоли.
 
static PIString fromConsole (const char *s)
 Возвращает строку созданную из кодировки консоли.
 
static PIString fromSystem (const PIByteArray &s)
 Возвращает строку созданную из кодировки системы.
 
static PIString fromSystem (const char *s)
 Возвращает строку созданную из кодировки системы.
 
static PIString fromUTF8 (const char *s, int l=-1)
 Возвращает строку созданную из UTF-8.
 
static PIString fromUTF8 (const PIByteArray &utf)
 Возвращает строку созданную из UTF-8.
 
static PIString fromAscii (const char *s)
 Возвращает строку созданную из ASCII.
 
static PIString fromAscii (const char *s, int len)
 Возвращает строку созданную из "len" символов ASCII.
 
static PIString fromAscii (const PIByteArray &ascii)
 Возвращает строку созданную из ASCII.
 
static PIString fromCodepage (const char *s, const char *cp)
 Возвращает строку созданную из кодировки "cp".
 
static PIString readableSize (llong bytes)
 Возвращает строку с читаемым размером B/KiB/MiB/GiB/TiB/PiB. Подробнее...
 
static PIString fromPercentageEncoding (const PIString &in)
 Возвращает строку из URL-кодированной"in".
 

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

static const float ElideLeft = 0.f
 Значение для пропуска слева.
 
static const float ElideCenter = .5f
 Значение для пропуска в середине.
 
static const float ElideRight = 1.f
 Значение для пропуска справа.
 

Относящиеся к классу функции

(не члены класса)

int versionCompare (const PIString &v0, const PIString &v1, int components)
 Сравнивает две строки с версиями в произвольной форме и возвращает 0, -1 или 1. Подробнее...
 
PIString versionNormalize (const PIString &v)
 Преобразует строку с версией в произвольной форме к классическому виду. Подробнее...
 
PIString operator+ (const PIString &f, const std::string &str)
 Return concatenated string.
 
PIString operator+ (const std::string &str, const PIString &f)
 Return concatenated string.
 
std::ostream & operator<< (std::ostream &s, const PIString &v)
 Output operator to std::ostream (cout)
 
std::istream & operator>> (std::istream &s, PIString &v)
 Input operator from std::istream (cin)
 

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

Класс строки.

Краткий обзор

Строка состоит из последовательности PIChar. Реальный объем памяти, занимаемый строкой, равен количеству символов * 2. Строка может быть создана из множества типов и преобразована в несколько типов. Имеет множество методов для манипуляций.

Конструктор(ы)

◆ PIString() [1/6]

PIString::PIString ( const char *  str)
inline

Создает строку из C-строки "str" (кодировка системы).

"str" должна заканчиваться нулевым байтом

PIString s("string");
Класс строки.
Definition: pistring.h:42

◆ PIString() [2/6]

PIString::PIString ( const wchar_t *  str)
inline

Создает строку из wchar_t C-строки "str".

"str" должна заканчиваться нулевым wchar_t

PIString s(L"string");

◆ PIString() [3/6]

PIString::PIString ( const char16_t *  str)
inline

Создает строку из char16_t C-строки "str".

"str" должна заканчиваться нулевым char16_t

PIString s(u"string");

◆ PIString() [4/6]

PIString::PIString ( const char *  str,
const int  len 
)
inline

Создает строку из "len" символов массива "str" (кодировка системы).

PIString s("string", 3); // s = "str"

◆ PIString() [5/6]

PIString::PIString ( const int  len,
const char  c 
)
inline

Создает строку как последовательность длиной "len" символа "c".

PIString s(5, 'p'); // s = "ppppp"

◆ PIString() [6/6]

PIString::PIString ( const int  len,
const PIChar  c 
)
inline

Создает строку как последовательность длиной "len" символа "c".

PIString s(5, "№"); // s = "№№№№№"

Методы

◆ begin()

iterator PIString::begin ( )
inline

Итератор на первый элемент.

Возвращает
Итераторы в стиле STL
См. также
end(), rbegin(), rend()

◆ end()

iterator PIString::end ( )
inline

Итератор на элемент, следующий за последним элементом.

Возвращает
Итераторы в стиле STL
См. также
begin(), rbegin(), rend()

◆ rbegin()

reverse_iterator PIString::rbegin ( )
inline

Обратный итератор на первый элемент.

Итератор для прохода массива в обратном порядке. Указывает на последний элемент.

Возвращает
Итераторы в стиле STL
См. также
rend(), begin(), end()

◆ rend()

reverse_iterator PIString::rend ( )
inline

Обратный итератор на элемент, следующий за последним элементом.

Итератор для прохода массива в обратном порядке. Указывает на элемент, предшествующий первому элементу.

Возвращает
Итераторы в стиле STL
См. также
rbegin(), begin(), end()

◆ operator[]()

PIChar & PIString::operator[] ( size_t  index)
inline

Полный доступ к символу по индексу index.

Индекс элемента считается от 0. Индекс символа должен лежать в пределах от 0 до size()-1. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.

◆ at()

const PIChar PIString::at ( size_t  index) const
inline

Доступ исключительно на чтение к символу по индексу index.

Индекс символа считается от 0. Индекс символа должен лежать в пределах от 0 до size()-1. Иначе это приведёт к неопределённому поведению программы и ошибкам памяти.

◆ resize()

PIString & PIString::resize ( size_t  new_size,
PIChar  c = PIChar() 
)
inline

Устанавливает размер строки, новые символы копируются из c.

Если new_size больше чем текущий размер строки size(), новые символы добавляются в конец строки и создаются из с. Если new_size меньше чем текущий размер строки size(), лишние символы удаляются с конца строки.

См. также
size(), clear()

◆ mid()

PIString PIString::mid ( int  start,
int  len = -1 
) const

Возвращает подстроку от символа "start" и максимальной длиной "len".

Если "len" < 0 тогда возвращается подстрока от символа "start" и до конца. "start" должен быть >= 0.

PIString s("0123456789");
piCout << s.mid(0, -1); // s = "0123456789"
piCout << s.mid(0, 2); // s = "01"
piCout << s.mid(3); // s = "3456789"
piCout << s.mid(3, 4); // s = "3456"
piCout << s.mid(7, 1); // s = "7"
piCout << s.mid(7, 4); // s = "789"
piCout << s.mid(-1); // s = ""
#define piCout
Макрос для условного (piDebug) вывода в PICout(StdOut)
Definition: picout.h:35
См. также
left(), right()

◆ left()

PIString PIString::left ( int  len) const
inline

Возвращает подстроку от начала и максимальной длиной "len".

PIString s("0123456789");
piCout << s.left(-1); // s = ""
piCout << s.left(1); // s = "0"
piCout << s.left(5); // s = "01234"
piCout << s.left(15); // s = "0123456789"
См. также
mid(), right()

◆ right()

PIString PIString::right ( int  len) const
inline

Возвращает подстроку максимальной длиной "len" и до конца.

PIString s("0123456789");
piCout << s.right(-1); // s = ""
piCout << s.right(1); // s = "9"
piCout << s.right(5); // s = "56789"
piCout << s.right(15); // s = "0123456789"
См. также
mid(), left()

◆ cutMid()

PIString & PIString::cutMid ( int  start,
int  len 
)

Удаляет часть строки от символа "start" и максимальной длины "len", возвращает эту строку.

Если "len" < 0 тогда удаляется подстрока от символа "start" и до конца. "start" должен быть >= 0.

PIString s("0123456789");
s.cutMid(1, 3);
piCout << s; // s = "0456789"
s.cutMid(0, 2);
piCout << s; // s = "56789"
s.cutMid(3, -1);
piCout << s; // s = "567"
s.cutMid(-1, -1);
piCout << s; // s = "567"
См. также
cutLeft(), cutRight()

◆ cutLeft()

PIString & PIString::cutLeft ( int  len)
inline

Удаляет часть строки от начала и максимальной длины "len", возвращает эту строку.

PIString s("0123456789");
s.cutLeft(1);
piCout << s; // s = "123456789"
s.cutLeft(3);
piCout << s; // s = "456789"
s.cutLeft(30);
piCout << s; // s = ""
См. также
cutMid(), cutRight()

◆ cutRight()

PIString & PIString::cutRight ( int  len)
inline

Удаляет часть строки максимальной длины "len" от конца, возвращает эту строку.

PIString s("0123456789");
s.cutRight(1);
piCout << s; // s = "012345678"
s.cutRight(3);
piCout << s; // s = "012345"
s.cutRight(30);
piCout << s; // s = ""
См. также
cutMid(), cutLeft()

◆ trim()

PIString & PIString::trim ( )

Удаляет пробельные символы с начала и конца строки и возвращает эту строку.

Удаляет пробелы, табуляцию, переводы строк и нулевые символы: ' ', '\n', '\r', '\t', '\0'

PIString s(" \t string \n");
s.trim();
piCout << s; // s = "string"
См. также
trimmed()

◆ trimmed()

PIString PIString::trimmed ( ) const

Возвращает копию этой строки без пробельных символов с начала и конца.

PIString s(" \t string \n");
piCout << s.trimmed(); // s = "string"
piCout << s; // s = " string "
См. также
trim()

◆ replace() [1/2]

PIString & PIString::replace ( const int  from,
const int  count,
const PIString with 
)

Заменяет часть строки от символа "from" и максимальной длины "len" строкой "with", возвращает эту строку.

PIString s("0123456789");
s.replace(2, 3, "_cut_");
piCout << s; // s = "01_cut_56789"
s.replace(0, 1, "one_");
piCout << s; // s = "one_1_cut_56789"
См. также
replaced(), replaceAll()

◆ replaced() [1/2]

PIString PIString::replaced ( const int  from,
const int  count,
const PIString with 
) const
inline

Заменяет часть копии этой строки от символа "from" и максимальной длины "len" строкой "with".

PIString s("0123456789");
piCout << s.replaced(2, 3, "_cut_"); // s = "01_cut_56789"
piCout << s.replaced(0, 1, "one_"); // s = "one_123456789"
См. также
replace(), replaceAll()

◆ replace() [2/2]

PIString & PIString::replace ( const PIString what,
const PIString with,
bool *  ok = 0 
)

Заменяет первую найденную подстроку "what" строкой "with", возвращает эту строку.

Если "ok" не null, то устанавливает в "true" если замена произведена

PIString s("pip string");
bool ok;
s.replace("string", "conf", &ok);
piCout << s << ok; // s = "pip conf", true
s.replace("PIP", "PlInPr", &ok);
piCout << s << ok; // s = "pip conf", false
См. также
replaced(), replaceAll()

◆ replaced() [2/2]

PIString PIString::replaced ( const PIString what,
const PIString with,
bool *  ok = 0 
) const
inline

Заменяет в копии строки первую найденную подстроку "what" строкой "with".

Если "ok" не null, то устанавливает в "true" если замена произведена.

PIString s("pip string");
bool ok;
piCout << s.replace("string", "conf", &ok); // s = "pip conf", true
piCout << s.replace("PIP", "PlInPr", &ok); // s = "pip string", false
См. также
replaced(), replaceAll()

◆ replaceAll() [1/3]

PIString & PIString::replaceAll ( const PIString what,
const PIString with 
)

Заменяет все найденные подстроки "what" строками "with", возвращает эту строку.

PIString s("substrings");
s.replaceAll("s", "_");
piCout << s; // s = "_ub_tring_"
См. также
replace(), replaced(), replacedAll()

◆ replaceAll() [2/3]

PIString & PIString::replaceAll ( const PIString what,
const char  with 
)

Заменяет все найденные подстроки "what" символами "with", возвращает эту строку.

PIString s("substrings");
s.replaceAll("s", '_');
piCout << s; // s = "_ub_tring_"
См. также
replace(), replaced(), replacedAll()

◆ replaceAll() [3/3]

PIString & PIString::replaceAll ( const char  what,
const char  with 
)

Заменяет все найденные символы "what" символами "with", возвращает эту строку.

PIString s("substrings");
s.replaceAll('s', '_');
piCout << s; // s = "_ub_tring_"
См. также
replace(), replaced(), replacedAll()

◆ replacedAll() [1/3]

PIString PIString::replacedAll ( const PIString what,
const PIString with 
) const
inline

Заменяет в копии строки все найденные подстроки "what" строками "with".

См. также
replaceAll()

◆ replacedAll() [2/3]

PIString PIString::replacedAll ( const PIString what,
const char  with 
) const
inline

Заменяет в копии строки все найденные подстроки "what" символами "with".

См. также
replaceAll()

◆ replacedAll() [3/3]

PIString PIString::replacedAll ( const char  what,
const char  with 
) const
inline

Заменяет в копии строки все найденные символы "what" символами "with".

См. также
replaceAll()

◆ repeat()

PIString & PIString::repeat ( int  times)
inline

Повторяет содержимое строки "times" раз и возвращает эту строку.

PIString s(" :-) ");
s.repeat(3);
piCout << s; // :-) :-) :-)
См. также
repeated()

◆ repeated()

PIString PIString::repeated ( int  times) const
inline

Возвращает повторённую "times" раз строку.

PIString s(" :-) ");
piCout << s.repeated(3); // :-) :-) :-)
piCout << s; // :-)
См. также
repeat()

◆ insert() [1/5]

PIString & PIString::insert ( const int  index,
const PIChar  c 
)
inline

Вставляет символ "c" после позиции "index" и возвращает эту строку.

PIString s("pp");
s.insert(1, "i");
piCout << s; // s = "pip"

◆ insert() [2/5]

PIString & PIString::insert ( const int  index,
const char  c 
)
inline

Вставляет символ "c" после позиции "index" и возвращает эту строку.

PIString s("pp");
s.insert(1, 'i');
piCout << s; // s = "pip"

◆ insert() [3/5]

PIString & PIString::insert ( const int  index,
const PIString str 
)

Вставляет строку "str" после позиции "index" и возвращает эту строку.

PIString s("stg");
s.insert(2, "rin");
piCout << s; // s = "string"

◆ insert() [4/5]

PIString & PIString::insert ( const int  index,
const char *  c 
)
inline

Вставляет строку "str" после позиции "index" и возвращает эту строку.

PIString s("stg");
s.insert(2, "rin");
piCout << s; // s = "string"

◆ insert() [5/5]

PIString & PIString::insert ( const int  index,
const char16_t *  c 
)
inline

Вставляет строку "str" после позиции "index" и возвращает эту строку.

PIString s("stg");
s.insert(2, u"rin");
piCout << s; // s = "string"

◆ expandRightTo()

PIString & PIString::expandRightTo ( const int  len,
const PIChar  c 
)
inline

Увеличивает длину строки до "len" добавлением символов "c" в конец и возвращает эту строку.

PIString s("str");
s.expandRightTo(2, "_");
piCout << s; // s = "str"
s.expandRightTo(6, "_");
piCout << s; // s = "str___"
См. также
expandLeftTo(), expandedRightTo(), expandedLeftTo()

◆ expandLeftTo()

PIString & PIString::expandLeftTo ( const int  len,
const PIChar  c 
)
inline

Увеличивает длину строки до "len" добавлением символов "c" в начало и возвращает эту строку.

PIString s("str");
s.expandLeftTo(2, "_");
piCout << s; // s = "str"
s.expandLeftTo(6, "_");
piCout << s; // s = "___str"
См. также
expandRightTo(), expandedRightTo(), expandedLeftTo()

◆ expandedRightTo()

PIString PIString::expandedRightTo ( const int  len,
const PIChar  c 
) const
inline

Увеличивает длину копии этой строки до "len" добавлением символов "c" в конец.

PIString s("str");
piCouy << s.expandedRightTo(5, "_"); // s = "str__"
piCout << s; // s = "str"
См. также
expandRightTo(), expandLeftTo(), expandedLeftTo()

◆ expandedLeftTo()

PIString PIString::expandedLeftTo ( const int  len,
const PIChar  c 
) const
inline

Увеличивает длину копии этой строки до "len" добавлением символов "c" в начало.

PIString s("str");
piCouy << s.expandedLeftTo(5, "_"); // s = "__str"
piCout << s; // s = "str"
См. также
expandRightTo(), expandLeftTo(), expandedRightTo()

◆ quote()

PIString & PIString::quote ( PIChar  c = PIChar('"'))
inline

Добавляет символ "c" в начало и конец и возвращает эту строку.

PIString s("str");
s.quote();
piCout << s; // s = ""str""
См. также
quoted()

◆ quoted()

PIString PIString::quoted ( PIChar  c = PIChar('"'))
inline

Возвращает копию строки с добавленным в начало и конец символом "c".

PIString s("str");
piCout << s.quoted(); // s = ""str""
piCout << s; // s = "str"
См. также
quote()

◆ reverse()

PIString & PIString::reverse ( )
inline

Разворачивает и возвращает эту строку.

PIString s("0123456789");
s.reverse();
piCout << s; // s = "9876543210"
См. также
reversed()

◆ reversed()

PIString PIString::reversed ( ) const
inline

Разворачивает копию этой строки.

PIString s("0123456789");
piCout << s.reversed(); // s = "9876543210"
piCout << s; // s = "0123456789"
См. также
reverse()

◆ elide()

PIString & PIString::elide ( int  size,
float  pos = ElideCenter 
)

Уменьшает строку до размера "size", вставляя ".." в положение "pos" и возвращает эту строку.

См. также
elided()

◆ elided()

PIString PIString::elided ( int  size,
float  pos = ElideCenter 
) const
inline

Уменьшает копию этой строки до размера "size", вставляя ".." в положение "pos".

piCout << PIString("123456789ABCDEF").elided(8, PIString::ElideLeft); // ..ABCDEF
piCout << PIString("123456789ABCDEF").elided(8, PIString::ElideCenter); // 123..DEF
piCout << PIString("123456789ABCDEF").elided(8, PIString::ElideRight); // 123456..
piCout << PIString("123456789ABCDEF").elided(8, 0.25); // 12..CDEF
static const float ElideCenter
Значение для пропуска в середине.
Definition: pistring.h:67
static const float ElideLeft
Значение для пропуска слева.
Definition: pistring.h:63
PIString()
Создает пустую строку.
Definition: pistring.h:59
static const float ElideRight
Значение для пропуска справа.
Definition: pistring.h:71
См. также
elide()

◆ takeMid()

PIString PIString::takeMid ( const int  start,
const int  len = -1 
)
inline

Извлекает часть строки от символа "start" максимальной длины "len" и возвращает её.

PIString s("0123456789");
piCout << s.takeMid(1, 3); // "123"
piCout << s; // s = "0456789"
См. также
takeLeft, takeRight()

◆ takeLeft()

PIString PIString::takeLeft ( const int  len)
inline

Извлекает часть строки от начала максимальной длины "len" и возвращает её.

PIString s("0123456789");
piCout << s.takeLeft(3); // "012"
piCout << s; // s = "3456789"
См. также
takeMid(), takeRight()

◆ takeRight()

PIString PIString::takeRight ( const int  len)
inline

Извлекает часть строки с конца максимальной длины "len" и возвращает её.

PIString s("0123456789");
piCout << s.takeRight(3); // "789"
piCout << s; // s = "0123456"
См. также
takeMid(), takeLeft()

◆ takeSymbol()

PIString PIString::takeSymbol ( )

Извлекает символ с начала строки и возвращает его как строку.

PIString s("\t ! word");
piCout << s.takeSymbol(); // "!"
piCout << s.takeSymbol(); // "w"
piCout << s.takeSymbol(); // "o"
piCout << s; // "rd"
См. также
takeWord(), takeCWord(), takeLine(), takeNumber(), takeRange()

◆ takeWord()

PIString PIString::takeWord ( )

Извлекает слово с начала строки и возвращает его.

PIString s("some words\nnew line ");
piCout << s.takeWord(); // "some"
piCout << s.takeWord(); // "words"
piCout << s.takeWord(); // "new"
piCout << s; // " line "
См. также
takeSymbol(), takeCWord(), takeLine(), takeNumber(), takeRange()

◆ takeCWord()

PIString PIString::takeCWord ( )

Извлекает слово из букв, цифр и симолов '_' с начала строки и возвращает его.

См. также
takeSymbol(), takeWord(), takeLine(), takeNumber(), takeRange()

◆ takeLine()

PIString PIString::takeLine ( )

Извлекает строку текста (до новой строки) с начала строки и возвращает её.

PIString s("some words\nnew line \n\nend");
piCout << s.takeLine(); // "some words"
piCout << s.takeLine(); // "new line "
piCout << s.takeLine(); // ""
piCout << s; // "end"
См. также
takeSymbol(), takeWord(), takeCWord(), takeNumber(), takeRange()

◆ takeNumber()

PIString PIString::takeNumber ( )

Извлекает число в C-формате с начала строки и возвращает его как строку.

PIString s(" 0xFF -99 1.2E+5f 1000L");
piCout << s.takeNumber(); // "0xFF"
piCout << s.takeNumber(); // "-99"
piCout << s.takeNumber(); // "1.2E+5f"
piCout << s.takeNumber(); // "1000L"
piCout << s; // ""
См. также
takeSymbol(), takeWord(), takeCWord(), takeLine(), takeRange()

◆ takeRange()

PIString PIString::takeRange ( const PIChar  start,
const PIChar  end,
const PIChar  shield = '\\' 
)

Извлекает диапазон между символами "start" и "end" с начала строки и возвращает его.

Символ "shield" экранирует следующий символ

PIString s(" {figures{inside}}");
piCout << s.takeRange('{', '}'); // "figures{inside}"
piCout << s; // ""
s = "\"text\\\"shielded\" next";
piCout << s.takeRange('"', '"'); // "text\"shielded"
piCout << s; // " next"
См. также
takeSymbol(), takeWord(), takeLine(), takeNumber()

◆ inBrackets()

PIString PIString::inBrackets ( const PIChar  start,
const PIChar  end 
) const

Возвращает строку между символами "start" и "end" с начала строки.

PIString s("a(b(c)d)e");
piCout << s.inBrackets('(', ')'); // "b(c)d"
piCout << s; // s = "a(b(c)d)e"

◆ data()

const char * PIString::data ( ) const

Возвращает char * представление строки в системной кодировке.

Этот метод заполняет внутренный байтовый буфер. Размер этого буфера равен количеству символов строки + завершающий байт '\0'. Возвращаемый указатель действителен до следующего вызова этого метода.

piCout << PIString("0123456789").data(); // 0123456789
piCout << PIString("№1").data(); // №1
См. также
dataConsole(), dataUTF8()

◆ dataConsole()

const char * PIString::dataConsole ( ) const

Возвращает char * представление строки в кодировке консоли.

Этот метод заполняет внутренный байтовый буфер. Размер этого буфера равен количеству символов строки + завершающий байт '\0'. Возвращаемый указатель действителен до следующего вызова этого метода.

См. также
data(), dataUTF8()

◆ dataUTF8()

const char * PIString::dataUTF8 ( ) const

Возвращает char * представление строки в кодировке UTF-8.

Этот метод заполняет внутренный байтовый буфер. Размер этого буфера равен количеству символов строки + завершающий байт '\0'. Возвращаемый указатель действителен до следующего вызова этого метода.

См. также
data(), dataConsole()

◆ dataAscii()

const char * PIString::dataAscii ( ) const

Возвращает char * представление строки в кодировке ASCII.

Этот метод заполняет внутренный байтовый буфер. Размер этого буфера равен количеству символов строки + завершающий байт '\0'. Возвращаемый указатель действителен до следующего вызова этого метода.

См. также
dataConsole(), dataUTF8()

◆ split()

PIStringList PIString::split ( const PIString delim) const

Разделяет строку в PIStringList через разделитель "delim".

PIString s("1 2 3");
piCout << s.split(" "); // {"1", "2", "3"}

◆ find() [1/3]

int PIString::find ( const char  c,
const int  start = 0 
) const

Ищет символ "c" от символа "start" и возвращает первое вхождение.

PIString s("012345012345");
piCout << s.find('-'); // -1
piCout << s.find('3'); // 3
piCout << s.find('3', 4); // 9
piCout << s.find('3', 10); // -1
См. также
findAny(), findLast(), findAnyLast(), findWord(), findCWord(), findRange()

◆ find() [2/3]

int PIString::find ( const PIString str,
const int  start = 0 
) const

Ищет подстроку "str" от символа "start" и возвращает первое вхождение.

PIString s("012345012345");
piCout << s.find("-"); // -1
piCout << s.find("34"); // 3
piCout << s.find("3", 4); // 9
piCout << s.find("3", 10); // -1
См. также
findAny(), findLast(), findAnyLast(), findWord(), findCWord(), findRange()

◆ find() [3/3]

int PIString::find ( const char *  str,
const int  start = 0 
) const
inline

Ищет подстроку "str" от символа "start" и возвращает первое вхождение.

PIString s("012345012345");
piCout << s.find("-"); // -1
piCout << s.find("34"); // 3
piCout << s.find("3", 4); // 9
piCout << s.find("3", 10); // -1
См. также
findAny(), findLast(), findAnyLast(), findWord(), findCWord(), findRange()

◆ findAny() [1/2]

int PIString::findAny ( const PIString str,
const int  start = 0 
) const

Ищет любой символ строки "str" от симола "start" и возвращает первое вхождение.

piCout << PIString("1.str").findAny(".,:"); // 1
piCout << PIString("1,str").findAny(".,:"); // 1
piCout << PIString("1:str").findAny(".,:"); // 1
См. также
find(), findLast(), findAnyLast(), findWord(), findCWord(), findRange()

◆ findAny() [2/2]

int PIString::findAny ( const char *  str,
const int  start = 0 
) const
inline

Ищет любой символ строки "str" от симола "start" и возвращает первое вхождение.

piCout << PIString("1.str").findAny(".,:"); // 1
piCout << PIString("1,str").findAny(".,:"); // 1
piCout << PIString("1:str").findAny(".,:"); // 1
См. также
find(), findLast(), findAnyLast(), findWord(), findCWord(), findRange()

◆ findLast() [1/3]

int PIString::findLast ( const char  c,
const int  start = 0 
) const

Ищет символ "c" от символа "start" и возвращает последнее вхождение.

PIString s("012345012345");
piCout << s.findLast('-'); // -1
piCout << s.findLast('3'); // 9
piCout << s.findLast('3', 4); // 9
piCout << s.findLast('3', 10); // -1
См. также
find(), findAny(), findAnyLast(), findWord(), findCWord(), findRange()

◆ findLast() [2/3]

int PIString::findLast ( const PIString str,
const int  start = 0 
) const

Ищет подстроку "str" от символа "start" и возвращает последнее вхождение.

PIString s("012345012345");
piCout << s.findLast("-"); // -1
piCout << s.findLast("34"); // 9
piCout << s.findLast("3", 4); // 9
piCout << s.findLast("3", 10); // -1
См. также
find(), findAny(), findAnyLast(), findWord(), findCWord(), findRange()

◆ findLast() [3/3]

int PIString::findLast ( const char *  str,
const int  start = 0 
) const
inline

Ищет подстроку "str" от символа "start" и возвращает последнее вхождение.

PIString s("012345012345");
piCout << s.findLast("-"); // -1
piCout << s.findLast("34"); // 9
piCout << s.findLast("3", 4); // 9
piCout << s.findLast("3", 10); // -1
См. также
find(), findAny(), findAnyLast(), findWord(), findCWord(), findRange()

◆ findAnyLast() [1/2]

int PIString::findAnyLast ( const PIString str,
const int  start = 0 
) const

Ищет любой символ строки "str" от символа "start" и возвращает последнее вхождение.

piCout << PIString(".str.0").findAnyLast(".,:"); // 4
piCout << PIString(".str,0").findAnyLast(".,:"); // 4
piCout << PIString(".str:0").findAnyLast(".,:"); // 4
См. также
find(), findAny(), findLast(), findWord(), findCWord(), findRange()

◆ findAnyLast() [2/2]

int PIString::findAnyLast ( const char *  str,
const int  start = 0 
) const
inline

Ищет любой символ строки "str" от символа "start" и возвращает последнее вхождение.

piCout << PIString(".str.0").findAnyLast(".,:"); // 4
piCout << PIString(".str,0").findAnyLast(".,:"); // 4
piCout << PIString(".str:0").findAnyLast(".,:"); // 4
См. также
find(), findAny(), findLast(), findWord(), findCWord(), findRange()

◆ findWord()

int PIString::findWord ( const PIString word,
const int  start = 0 
) const

Ищет слово "word" от симола "start" и возвращает первое вхождение.

PIString s("this is <PIP>");
piCout << s.findWord("this"); // 0
piCout << s.findWord("is"); // 5
piCout << s.findWord("PIP", 4); // -1
piCout << s.findWord("<PIP>", 4); // 8
См. также
find(), findAny(), findLast(), findAnyLast(), findCWord(), findRange()

◆ findCWord()

int PIString::findCWord ( const PIString word,
const int  start = 0 
) const

Ищет C-слово "word" от симола "start" и возвращает первое вхождение.

PIString s("this::is <PIP>");
piCout << s.findCWord("this"); // 0
piCout << s.findCWord("is"); // 6
piCout << s.findCWord("PIP", 4); // 10
piCout << s.findCWord("<PIP>", 4); // 9
См. также
find(), findAny(), findLast(), findAnyLast(), findWord(), findRange()

◆ findRange()

int PIString::findRange ( const PIChar  start,
const PIChar  end,
const PIChar  shield = '\\',
const int  start_index = 0,
int *  len = 0 
) const

Ищет начало диапазона между символами "start" и "end" от симола "start" и возвращает первое вхождение.

PIString s(" {figures{inside}}");
int len = -1;
piCout << s.findRange('{', '}', '\\', 0, &len) << len << s.mid(2, len); // 2 15 figures{inside}
s = "\"text\\\"shielded\" next";
piCout << s.findRange('"', '"', '\\', 0, &len) << len << s.mid(1, len); // 1 14 text\"shielded
См. также
find(), findAny(), findLast(), findAnyLast(), findWord(), findCWord()

◆ entries() [1/2]

int PIString::entries ( const PIChar  c) const

Возвращает число вхождений символа "c".

piCout << PIString(".str.0").entries("."); // 2
piCout << PIString(".str.0").entries("0"); // 1

◆ entries() [2/2]

int PIString::entries ( const PIString str) const

Возвращает число вхождений строк "str".

piCout << PIString("hello locale").entries("lo"); // 2
piCout << PIString("hello locale").entries("lo lo"); // 1

◆ clear()

void PIString::clear ( )
inline

Очищает строку, строка становится пустой.

Заметки
Зарезервированная память не освободится.
См. также
resize()

◆ toBool()

bool PIString::toBool ( ) const

Возвращает true если строка равна "true", "yes", "on" или числу > 0.

piCout << PIString("true").toBool(); // true
piCout << PIString("Yes").toBool(); // true
piCout << PIString(" TRUE ").toBool(); // true
piCout << PIString(" 1 ").toBool(); // true
piCout << PIString("0").toBool(); // false
piCout << PIString("0.1").toBool(); // true
piCout << PIString("-1").toBool(); // false
piCout << PIString("").toBool(); // false

◆ toShort()

short PIString::toShort ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает short числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toShort(); // 123
piCout << PIString("123").toShort(16); // 291
piCout << PIString("0x123").toShort(); // 291
piCout << PIString("1001").toShort(2); // 9

◆ toUShort()

ushort PIString::toUShort ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает ushort числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toUShort(); // 123
piCout << PIString("123").toUShort(16); // 291
piCout << PIString("0x123").toUShort(); // 291
piCout << PIString("1001").toUShort(2); // 9

◆ toInt()

int PIString::toInt ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает int числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toInt(); // 123
piCout << PIString("123").toInt(16); // 291
piCout << PIString("0x123").toInt(); // 291
piCout << PIString("1001").toInt(2); // 9

◆ toUInt()

uint PIString::toUInt ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает uint числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toUInt(); // 123
piCout << PIString("123").toUInt(16); // 291
piCout << PIString("0x123").toUInt(); // 291
piCout << PIString("1001").toUInt(2); // 9

◆ toLong()

long PIString::toLong ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает long числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toLong(); // 123
piCout << PIString("123").toLong(16); // 291
piCout << PIString("0x123").toLong(); // 291
piCout << PIString("1001").toLong(2); // 9

◆ toULong()

ulong PIString::toULong ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает ulong числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toULong(); // 123
piCout << PIString("123").toULong(16); // 291
piCout << PIString("0x123").toULong(); // 291
piCout << PIString("1001").toULong(2); // 9

◆ toLLong()

llong PIString::toLLong ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает llong числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toLLong(); // 123
piCout << PIString("123").toLLong(16); // 291
piCout << PIString("0x123").toLLong(); // 291
piCout << PIString("1001").toLLong(2); // 9

◆ toULLong()

ullong PIString::toULLong ( int  base = -1,
bool *  ok = 0 
) const
inline

Возвращает ullong числовое значение строки по основанию "base".

Если "base" < 0 тогда основание автоматически принимается 16 если строка начинается с "0x", иначе 10.

piCout << PIString("123").toULLong(); // 123
piCout << PIString("123").toULLong(16); // 291
piCout << PIString("0x123").toULLong(); // 291
piCout << PIString("1001").toULLong(2); // 9

◆ toFloat()

float PIString::toFloat ( ) const

Возвращает float числовое значение строки.

piCout << PIString("123").toFloat(); // 123
piCout << PIString("1.2E+2").toFloat(); // 120
piCout << PIString("0.01").toFloat(); // 0.01

◆ toDouble()

double PIString::toDouble ( ) const

Возвращает double числовое значение строки.

piCout << PIString("123").toDouble(); // 123
piCout << PIString("1.2E+2").toDouble(); // 120
piCout << PIString("0.01").toDouble(); // 0.01

◆ toLDouble()

ldouble PIString::toLDouble ( ) const

Возвращает ldouble числовое значение строки.

piCout << PIString("123").toLDouble(); // 123
piCout << PIString("1.2E+2").toLDouble(); // 120
piCout << PIString("0.01").toLDouble(); // 0.01

◆ setNumber() [1/11]

PIString & PIString::setNumber ( const short  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B
PIString & setNumber(const short value, int base=10, bool *ok=0)
Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эт...
Definition: pistring.h:1518

◆ setNumber() [2/11]

PIString & PIString::setNumber ( const ushort  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [3/11]

PIString & PIString::setNumber ( const int  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [4/11]

PIString & PIString::setNumber ( const uint  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [5/11]

PIString & PIString::setNumber ( const long  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [6/11]

PIString & PIString::setNumber ( const ulong  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [7/11]

PIString & PIString::setNumber ( const llong &  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [8/11]

PIString & PIString::setNumber ( const ullong &  value,
int  base = 10,
bool *  ok = 0 
)
inline

Устанавливает содержимое строки в текстовое представление "value" по основанию "base" и возвращает эту строку.

s.setNumber(123);
piCout << s; // 123
s.setNumber(123, 16);
piCout << s; // 7B

◆ setNumber() [9/11]

PIString & PIString::setNumber ( const float  value,
char  format = 'f',
int  precision = 8 
)
inline

Устанавливает содержимое строки в текстовое представление "value" в формате "format" и точностью "precision" и возвращает эту строку.

s.setNumber(12.3);
piCout << s; // 12.30000000
s.setNumber(12.3, 'f', 3);
piCout << s; // 12.300
s.setNumber(12.123456, 'f', 3);
piCout << s; // 12.123
s.setNumber(123456789., 'g', 2);
piCout << s; // 1.2e+08
s.setNumber(123456789., 'f', 0);
piCout << s; // 123456789

◆ setNumber() [10/11]

PIString & PIString::setNumber ( const double &  value,
char  format = 'f',
int  precision = 8 
)
inline

Устанавливает содержимое строки в текстовое представление "value" в формате "format" и точностью "precision" и возвращает эту строку.

s.setNumber(12.3);
piCout << s; // 12.30000000
s.setNumber(12.3, 'f', 3);
piCout << s; // 12.300
s.setNumber(12.123456, 'f', 3);
piCout << s; // 12.123
s.setNumber(123456789., 'g', 2);
piCout << s; // 1.2e+08
s.setNumber(123456789., 'f', 0);
piCout << s; // 123456789

◆ setNumber() [11/11]

PIString & PIString::setNumber ( const ldouble &  value,
char  format = 'f',
int  precision = 8 
)
inline

Устанавливает содержимое строки в текстовое представление "value" в формате "format" и точностью "precision" и возвращает эту строку.

s.setNumber(12.3);
piCout << s; // 12.30000000
s.setNumber(12.3, 'f', 3);
piCout << s; // 12.300
s.setNumber(12.123456, 'f', 3);
piCout << s; // 12.123
s.setNumber(123456789., 'g', 2);
piCout << s; // 1.2e+08
s.setNumber(123456789., 'f', 0);
piCout << s; // 123456789

◆ setReadableSize()

PIString & PIString::setReadableSize ( llong  bytes)

Устанавливает содержимое в строку с читаемым размером B/KiB/MiB/GiB/TiB/PiB.

См. также
PIString::readableSize()

Пример:

piCout << s; // 512 B
piCout << s; // 5.0 KiB
s.setReadableSize(512000);
piCout << s; // 500.0 KiB
s.setReadableSize(5120000);
piCout << s; // 4.8 MiB
s.setReadableSize(512000000);
piCout << s; // 488.2 MiB
s.setReadableSize(51200000000);
piCout << s; // 47.6 GiB
PIString & setReadableSize(llong bytes)
Устанавливает содержимое в строку с читаемым размером B/KiB/MiB/GiB/TiB/PiB.
Definition: pistring.cpp:1807

◆ arg() [1/3]

PIString & PIString::arg ( const PIString v)

Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.

piCout << PIString("color %1 is not %2, but %1").arg("red").arg("green"); // color red is not green, but red

◆ arg() [2/3]

PIString & PIString::arg ( int  v,
int  base = 10 
)
inline

Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.

piCout << PIString("ten = %1").arg(10); // ten = 10
piCout << PIString("'%1' is max hex letter (%2 in dec)").arg(0xF, 16).arg(0xF); // 'F' is max hex letter (15 in dec)

◆ arg() [3/3]

PIString & PIString::arg ( double  v,
char  format = 'f',
int  precision = 8 
)
inline

Заменяет все вхождения типа "%1", "%2", ... с наименьшим значением на "v" и возвращает эту строку.

piCout << PIString("light speed = %1 %2").arg(M_LIGHT_SPEED, 'g', 4).arg("m/s"); // light speed = 2.998e+08 m/s

◆ fromNumber() [1/11]

static PIString PIString::fromNumber ( const short  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B
static PIString fromNumber(const short value, int base=10, bool *ok=0)
Возвращает строковое представление числа "value" по основанию "base".
Definition: pistring.h:1776

◆ fromNumber() [2/11]

static PIString PIString::fromNumber ( const ushort  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [3/11]

static PIString PIString::fromNumber ( const int  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [4/11]

static PIString PIString::fromNumber ( const uint  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [5/11]

static PIString PIString::fromNumber ( const long  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [6/11]

static PIString PIString::fromNumber ( const ulong  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [7/11]

static PIString PIString::fromNumber ( const llong &  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [8/11]

static PIString PIString::fromNumber ( const ullong &  value,
int  base = 10,
bool *  ok = 0 
)
inlinestatic

Возвращает строковое представление числа "value" по основанию "base".

piCout << PIString::fromNumber(123, 16); // 7B

◆ fromNumber() [9/11]

static PIString PIString::fromNumber ( const float  value,
char  format = 'f',
int  precision = 8 
)
inlinestatic

Возвращает строковое представление числа "value" в формате "format" и точностью "precision".

piCout << PIString::fromNumber(12.3); // 12.30000000
piCout << PIString::fromNumber(12.3, 'f', 3); // 12.300
piCout << PIString::fromNumber(12.123456, 'f', 3); // 12.123
piCout << PIString::fromNumber(123456789., 'g', 2); // 1.2e+08
piCout << PIString::fromNumber(123456789., 'f', 0); // 123456789

◆ fromNumber() [10/11]

static PIString PIString::fromNumber ( const double &  value,
char  format = 'f',
int  precision = 8 
)
inlinestatic

Возвращает строковое представление числа "value" в формате "format" и точностью "precision".

piCout << PIString::fromNumber(12.3); // 12.30000000
piCout << PIString::fromNumber(12.3, 'f', 3); // 12.300
piCout << PIString::fromNumber(12.123456, 'f', 3); // 12.123
piCout << PIString::fromNumber(123456789., 'g', 2); // 1.2e+08
piCout << PIString::fromNumber(123456789., 'f', 0); // 123456789

◆ fromNumber() [11/11]

static PIString PIString::fromNumber ( const ldouble &  value,
char  format = 'f',
int  precision = 8 
)
inlinestatic

Возвращает строковое представление числа "value" в формате "format" и точностью "precision".

piCout << PIString::fromNumber(12.3); // 12.30000000
piCout << PIString::fromNumber(12.3, 'f', 3); // 12.300
piCout << PIString::fromNumber(12.123456, 'f', 3); // 12.123
piCout << PIString::fromNumber(123456789., 'g', 2); // 1.2e+08
piCout << PIString::fromNumber(123456789., 'f', 0); // 123456789

◆ readableSize()

PIString PIString::readableSize ( llong  bytes)
static

Возвращает строку с читаемым размером B/KiB/MiB/GiB/TiB/PiB.

См. также
PIString::setReadableSize()

Пример:

piCout << PIString::readableSize(512); // 512 B
piCout << PIString::readableSize(5120); // 5.0 KiB
piCout << PIString::readableSize(512000); // 500.0 KiB
piCout << PIString::readableSize(5120000); // 4.8 MiB
piCout << PIString::readableSize(512000000); // 488.2 MiB
piCout << PIString::readableSize(51200000000); // 47.6 GiB
static PIString readableSize(llong bytes)
Возвращает строку с читаемым размером B/KiB/MiB/GiB/TiB/PiB.
Definition: pistring.cpp:456

◆ swap()

void PIString::swap ( PIString str)
inline

Меняет строку str с этой строкой.

Эта операция выполняется мгновенно без копирования памяти и никогда не дает сбоев.

Документация по друзьям класса и функциям, относящимся к классу

◆ versionCompare()

int versionCompare ( const PIString v0,
const PIString v1,
int  components 
)
related

Сравнивает две строки с версиями в произвольной форме и возвращает 0, -1 или 1.

Этот метод разбирает версии на числовые части и метку. Затем сравнивает не более чем "components" частей. Если различий нет, то сравниваются метки. Каждой метке соответствует своё значение так, что "prealpha" < "alpha" < "prebeta" < "beta" < "rc[N]" < "" < "r[N]". Пример:

piCout << versionCompare("1.0.0_rc2-999", "1.0.1_rc2-999"); // -1, <
piCout << versionCompare("1.0.0", "0.9.2"); // 1, >
piCout << versionCompare("1.0.0_r1", "1.0.0"); // 1, >
piCout << versionCompare("1.0.0_r1", "1.0.0", 3); // 0, =
piCout << versionCompare("1.0.0_r2", "1.0.0", 3); // 0, =
piCout << versionCompare(".2-alpha", "0.2_alpha"); // 0, =
piCout << versionCompare("1_prebeta", "1.0_alpha"); // 1, >
int versionCompare(const PIString &v0, const PIString &v1, int components)
Сравнивает две строки с версиями в произвольной форме и возвращает 0, -1 или 1.
Definition: pistring.cpp:1982
Возвращает
  • 0 - равны
  • 1 - v0 > v1
  • -1 - v0 < v1

◆ versionNormalize()

PIString versionNormalize ( const PIString v)
related

Преобразует строку с версией в произвольной форме к классическому виду.

Разбирает версию по описанию versionCompare() и возвращает классическое представление версии и метки: major.minor.revision[-build][_label]. Пример:

piCout << versionNormalize(""); // 0.0.0
piCout << versionNormalize("1"); // 1.0.0
piCout << versionNormalize("1.2"); // 1.2.0
piCout << versionNormalize("1.2.3"); // 1.2.3
piCout << versionNormalize("1.2+rc1.99"); // 1.2.99_rc1
piCout << versionNormalize("1.2-alpha"); // 1.2.0_alpha
piCout << versionNormalize("1..4_rc2-999"); // 1.0.4-999_rc2
PIString versionNormalize(const PIString &v)
Преобразует строку с версией в произвольной форме к классическому виду.
Definition: pistring.cpp:2030