Moduły | |
| Sortowanie naturalne | |
| Obsługa Unicode | |
| Konwersje łańcuchów Unicode | |
Komponenty | |
| class | common::StringNaturalCompare |
| Klasa do porównywania w porządku naturalnym. Więcej... | |
| class | common::StrLessCi |
| Predykat do porównywania łańcuchów bez rozróżniania wielkości liter. Więcej... | |
| class | common::StrGreaterCi |
| Predykat do porównywania łańcuchów bez rozróżniania wielkości liter. Więcej... | |
Wyliczenia | |
| enum | common::EOLMODE { common::EOL_NONE, common::EOL_CRLF, common::EOL_LF, common::EOL_CR } |
| Rodzaje znaków końca wiersza. Więcej... | |
| enum | common::CHARSET { common::CHARSET_NONE = 0, common::CHARSET_WINDOWS, common::CHARSET_ISO, common::CHARSET_IBM, common::CHARSET_UTF8 } |
| Strona kodowa polskich znakow. Więcej... | |
Funkcje | |
| bool | common::CharIsAlphaNumeric (tchar ch) |
| Zwraca true, jesli znak jest alfanumeryczny (litera lub cyfra) wg ustawień systemu. | |
| bool | common::CharIsAlpha (tchar ch) |
| Zwraca true, jesli znak jest litera. | |
| bool | common::CharIsDigit (tchar ch) |
| Zwraca true, jesli znak jest cyfrą dziesietną. | |
| bool | common::CharIsHexDigit (tchar ch) |
| Zwraca true, jeśli znak jest cyfrą szesnastkową. | |
| bool | common::CharIsLower (tchar ch) |
| Zwraca true, jesli znak jest mala litera. | |
| bool | common::CharIsUpper (tchar ch) |
| Zwraca true, jesli znak jest duza litera. | |
| bool | common::CharIsWhitespace (char ch) |
| Zwraca true, jesli podany znak jest odstepem, czyli bialym znakiem wg systemu. | |
| bool | common::CharIsWhitespace (wchar_t ch) |
| bool | common::CharIsWhitespace_f (tchar ch) |
| Zwraca true, jesli podany znak jest odstepem, czyli bialym znakiem. | |
| void | common::ReverseString (tstring *s) |
| Odwraca łańcuch w miejscu. | |
| void | common::Trim (tstring *s) |
| Obcina białe znaki z początku i końca łańcucha w miejscu. | |
| void | common::Trim (tstring *Out, const tstring &s) |
| Obcina białe znaki z początku i końca łańcucha. | |
| tchar | common::CharToLower (tchar ch) |
| Jeśli to litera, konwertuje na małą. | |
| tchar | common::CharToUpper (tchar ch) |
| Jeśli to litera, konwertuje na dużą. | |
| void | common::LowerCase (tstring *s) |
| Konwertuje łańcuch na małe litery. | |
| void | common::LowerCase (tstring *Out, const tstring &s) |
| void | common::UpperCase (tstring *s) |
| Konwertuje łańcuch na duże. | |
| void | common::UpperCase (tstring *Out, const tstring &s) |
| bool | common::Charset_WindowsSpecialChar (char a_c, string *a_s) |
| Zmienia znak specjalny kodowania Windows-1250 na odpowiednik normalny. | |
| char | common::Charset_Convert_Char (char a_c, CHARSET a_Charset1, CHARSET a_Charset2) |
| Zmienia znak z jednej strony kodowej na druga lub pozostawia bez zmian. | |
| void | common::Charset_Convert (string *out, const string &s, CHARSET Charset1, CHARSET Charset2) |
| Konwertuje lancuch na podana strone kodowa. | |
| void | common::Rot13 (tstring *InOut) |
| Szyforowanie/deszyfrowanie algorytmem ROT13. | |
| void | common::Rot13 (tstring *Out, const tstring &In) |
| void | common::EolModeToStr (tstring *Out, EOLMODE EolMode) |
| Rodzaj znaku końca wiersza na odpowiadający mu znak (lub znaki). | |
| void | common::Replace (tstring *result, const tstring &s, const tstring &s1, const tstring &s2) |
| Zamienia w łańcuchu wszystkie wystąpienia jedego podłańcucha na drugi. | |
| void | common::Replace (tstring *Out, const tstring &s, tchar Ch1, tchar Ch2) |
| Zmienia w łańcuchu wszystkie wystąpienia znaku Ch1 na Ch2. | |
| void | common::Replace (tstring *InOut, tchar Ch1, tchar Ch2) |
| Zmienia w łańcuchu wszystkie wystąpienia znaku Ch1 na Ch2 w miejscu. | |
| void | common::ReplaceEOL (tstring *result, const tstring &s, EOLMODE EOLMode) |
| Zmienia wszelkiego rodzaju znaki końca wiersza w poddanym tekście na takie same - wg podanego trybu. | |
| void | common::NormalizeWhitespace (tstring *result, const tstring &s) |
| Zamienia wszystkie odstępy na pojedyncze spacje. | |
| void | common::DupeString (tstring *Out, const tstring &s, size_t count) |
| Zwraca łańcuch powtórzony podaną liczbę razy. | |
| void | common::RightStr (tstring *Out, const tstring &s, size_t Length) |
| Zwraca podłańcuch z prawej strony. | |
| size_t | common::SubstringCount (const tstring &str, const tstring &substr) |
| Zwraca liczbę wystąpień podłańcucha. | |
| bool | common::StrEqualI (const tstring &s1, const tstring &s2) |
| Zwraca true, jeśli podane łańcuchy są równe bez rozróżniania wielkości liter. | |
| bool | common::SubStrEqual (const tstring &s1, size_t off1, const tstring &s2, size_t off2, size_t length) |
| Zwraca true, jeśli podfragmenty podanych łańcuchów są identyczne. | |
| bool | common::SubStrEqualI (const tstring &s1, size_t off1, const tstring &s2, size_t off2, size_t length) |
| Zwraca true, jeśli podfragmenty podanych łańcuchów są identyczne nie rozróżniając wielkości liter. | |
| bool | common::ContainsEOL (const tstring &s) |
| Czy łańcuch zawiera znaki końca wiersza? | |
| bool | common::StrBegins (const tstring &s, const tstring &sub, size_t Begin=0) |
| Zwraca true, jesli podany lancuch zaczyna sie od podanego podlancucha. | |
| bool | common::StrEnds (const tstring &s, const tstring &Sub) |
| Zwraca true, jeśli podany łańcuch kończy się podanym podłańcuchem. | |
| bool | common::Split (const tstring &s, const tstring &delimiter, tstring *out, size_t *index) |
| Kolejne wywołania rozdzielają łańcuch na kolejne elementy oddzielone w jego treści określonym podłańcuchem. | |
| bool | common::SplitFirstOf (const tstring &s, const tstring &delimiters, tstring *out, size_t *index) |
| Działa jak Split(), ale łańcuchem rozdzielającym jest każdy dowolny znak z delimiters. | |
| void | common::Split (STRING_VECTOR *Out, const tstring &s, const tstring &Delimiter) |
| Dzieli łańcuch na części i zwraca je jako wektor. | |
| bool | common::SplitEOL (const tstring &s, tstring *out, size_t *index) |
| Kolejne wywołania rozdzielają łańcuch na kolejne elementy oddzielone w jego treści którąś z sekwencji uznawaną za koniec wiersza (czyli na kolejne wiersze). | |
| bool | common::SplitQuery (const tstring &s, tstring *out, size_t *index) |
Kolejne wywołania rozdzielają łańcuch na elementy oddzielone odstępami uwzględniając ciągi obięte w cudzysłowy "" jako całość. | |
| bool | common::ValidateWildcard (const tstring &Mask, const tstring &S, bool CaseSensitive=true, size_t MaskOff=0, size_t SOff=0) |
| Sprawdza, czy podany łancuch jest zgodny z podaną maską mogącą zawierać znaki wieloznaczne. | |
| float | common::FineSearch (const tstring &SubStr, const tstring &Str) |
| Zwraca zmiennoprzecinkową trafność wyszukiwania stringa SubStr w stringu Str. | |
| size_t | common::LevenshteinDistance (const tstring &s1, const tstring &s2) |
| Odległość edycyjna między dwoma łańcuchami. | |
| size_t | common::LevenshteinDistanceI (const tstring &s1, const tstring &s2) |
| Odległość edycyjna między dwoma łańcuchami bez uwzględniania wielkości liter. | |
Zmienne | |
| const tstring | common::EMPTY_STRING |
| Łańcuch pusty - do wykorzystania aby można było pobierać do niego referencje itp. | |
| const tchar *const | common::EOL |
| Standardowy łańcuch końca wiersza zależny od systemu. | |
| enum common::CHARSET |
Strona kodowa polskich znakow.
| enum common::EOLMODE |
| bool common::CharIsAlpha | ( | tchar | ch | ) |
Zwraca true, jesli znak jest litera.
| bool common::CharIsAlphaNumeric | ( | tchar | ch | ) |
Zwraca true, jesli znak jest alfanumeryczny (litera lub cyfra) wg ustawień systemu.
| bool common::CharIsDigit | ( | tchar | ch | ) | [inline] |
Zwraca true, jesli znak jest cyfrą dziesietną.
| bool common::CharIsHexDigit | ( | tchar | ch | ) | [inline] |
Zwraca true, jeśli znak jest cyfrą szesnastkową.
| bool common::CharIsLower | ( | tchar | ch | ) |
Zwraca true, jesli znak jest mala litera.
| bool common::CharIsUpper | ( | tchar | ch | ) |
Zwraca true, jesli znak jest duza litera.
| bool common::CharIsWhitespace | ( | wchar_t | ch | ) |
| bool common::CharIsWhitespace | ( | char | ch | ) |
Zwraca true, jesli podany znak jest odstepem, czyli bialym znakiem wg systemu.
Dwie wersje tej funkcji - ANSI i Unicode - są potrzebne dla Stream - HexDecoder.
| bool common::CharIsWhitespace_f | ( | tchar | ch | ) | [inline] |
Zwraca true, jesli podany znak jest odstepem, czyli bialym znakiem.
Czyli jednym ze znakow:
0x09 (9) "\\t" - tabulacja0x0A (10) "\\n" - znak konca wiersza0x0D (13) "\\r" - znak konca wiersza "\\v" - tabulacja pionowa0x20 (32) " " - spacja | void common::Charset_Convert | ( | string * | out, | |
| const string & | s, | |||
| CHARSET | Charset1, | |||
| CHARSET | Charset2 | |||
| ) |
Konwertuje lancuch na podana strone kodowa.
| [out] | out | nie moze byc tym samym lancuchem, co s. |
| char common::Charset_Convert_Char | ( | char | a_c, | |
| CHARSET | a_Charset1, | |||
| CHARSET | a_Charset2 | |||
| ) |
Zmienia znak z jednej strony kodowej na druga lub pozostawia bez zmian.
Nie obsluguje stron kodowych wielobajtowych, tzn. UTF-8 (wynik jest wtedy niezdefiniowany).
| bool common::Charset_WindowsSpecialChar | ( | char | a_c, | |
| string * | a_s | |||
| ) |
Zmienia znak specjalny kodowania Windows-1250 na odpowiednik normalny.
Jesli podany znak jest jednym ze znakow specjalnych Windows-1250, zwraca przez a_s jego normalny odpowiednik (można podać wskaźnik 0) i zwraca true. Jeśli to nie jest taki znak, zwraca false.
Jeśli to litera, konwertuje na małą.
Jeśli to litera, konwertuje na dużą.
| bool common::ContainsEOL | ( | const tstring & | s | ) |
Czy łańcuch zawiera znaki końca wiersza?
Zwraca łańcuch powtórzony podaną liczbę razy.
| void common::EolModeToStr | ( | tstring * | Out, | |
| EOLMODE | EolMode | |||
| ) |
Rodzaj znaku końca wiersza na odpowiadający mu znak (lub znaki).
Zwraca zmiennoprzecinkową trafność wyszukiwania stringa SubStr w stringu Str.
Zaawansowany algorytm, wymyślony przeze mnie dawno temu. Bierze pod uwagę rzeczy takie jak:
Odległość edycyjna między dwoma łańcuchami.
Złożoność: O( s1.length * s2.length ). Im mniejsza, tym łańcuchy bardziej podobne. Jeśli identyczne, zwraca 0.
Odległość edycyjna między dwoma łańcuchami bez uwzględniania wielkości liter.
Złożoność: O( s1.length * s2.length ). Im mniejsza, tym łańcuchy bardziej podobne. Jeśli identyczne, zwraca 0.
| void common::LowerCase | ( | tstring * | s | ) |
Konwertuje łańcuch na małe litery.
Zamienia wszystkie odstępy na pojedyncze spacje.
Zmienia w łańcuchu wszystkie wystąpienia znaku Ch1 na Ch2 w miejscu.
Zmienia w łańcuchu wszystkie wystąpienia znaku Ch1 na Ch2.
| void common::Replace | ( | tstring * | result, | |
| const tstring & | s, | |||
| const tstring & | s1, | |||
| const tstring & | s2 | |||
| ) |
Zamienia w łańcuchu wszystkie wystąpienia jedego podłańcucha na drugi.
Result musi być oczywiście, jak w każdej takiej funkcji, innym łańcuchem niż s.
Zmienia wszelkiego rodzaju znaki końca wiersza w poddanym tekście na takie same - wg podanego trybu.
| void common::ReverseString | ( | tstring * | s | ) |
Odwraca łańcuch w miejscu.
Zwraca podłańcuch z prawej strony.
| void common::Rot13 | ( | tstring * | InOut | ) |
Szyforowanie/deszyfrowanie algorytmem ROT13.
| void common::Split | ( | STRING_VECTOR * | Out, | |
| const tstring & | s, | |||
| const tstring & | Delimiter | |||
| ) |
Dzieli łańcuch na części i zwraca je jako wektor.
Kolejne wywołania rozdzielają łańcuch na kolejne elementy oddzielone w jego treści określonym podłańcuchem.
| [out] | out | |
| [in,out] | index |
Kolejne wywołania rozdzielają łańcuch na kolejne elementy oddzielone w jego treści którąś z sekwencji uznawaną za koniec wiersza (czyli na kolejne wiersze).
| bool common::SplitFirstOf | ( | const tstring & | s, | |
| const tstring & | delimiters, | |||
| tstring * | out, | |||
| size_t * | index | |||
| ) |
Działa jak Split(), ale łańcuchem rozdzielającym jest każdy dowolny znak z delimiters.
Kolejne wywołania rozdzielają łańcuch na elementy oddzielone odstępami uwzględniając ciągi obięte w cudzysłowy "" jako całość.
Zwraca true, jesli podany lancuch zaczyna sie od podanego podlancucha.
Zwraca true, jeśli podany łańcuch kończy się podanym podłańcuchem.
Zwraca true, jeśli podane łańcuchy są równe bez rozróżniania wielkości liter.
| bool common::SubStrEqual | ( | const tstring & | s1, | |
| size_t | off1, | |||
| const tstring & | s2, | |||
| size_t | off2, | |||
| size_t | length | |||
| ) |
Zwraca true, jeśli podfragmenty podanych łańcuchów są identyczne.
| bool common::SubStrEqualI | ( | const tstring & | s1, | |
| size_t | off1, | |||
| const tstring & | s2, | |||
| size_t | off2, | |||
| size_t | length | |||
| ) |
Zwraca true, jeśli podfragmenty podanych łańcuchów są identyczne nie rozróżniając wielkości liter.
Zwraca liczbę wystąpień podłańcucha.
Obcina białe znaki z początku i końca łańcucha.
| void common::Trim | ( | tstring * | s | ) |
Obcina białe znaki z początku i końca łańcucha w miejscu.
| void common::UpperCase | ( | tstring * | s | ) |
Konwertuje łańcuch na duże.
| bool common::ValidateWildcard | ( | const tstring & | Mask, | |
| const tstring & | S, | |||
| bool | CaseSensitive = true, |
|||
| size_t | MaskOff = 0, |
|||
| size_t | SOff = 0 | |||
| ) |
Sprawdza, czy podany łancuch jest zgodny z podaną maską mogącą zawierać znaki wieloznaczne.
'?' zastępuje dowolny jeden znak, '*' zastępuje dowolną liczbę (także 0) dowolnych znaków.
| const tstring common::EMPTY_STRING |
Łańcuch pusty - do wykorzystania aby można było pobierać do niego referencje itp.
| const tchar* const common::EOL |
Standardowy łańcuch końca wiersza zależny od systemu.
1.5.5