|
LMMS
|
#include <fstring.h>
Public Types | |
| enum | CharGroup { kSpace , kNotAlphaNum , kNotAlpha } |
| Public Types inherited from Steinberg::ConstString | |
| enum | CompareMode { kCaseSensitive , kCaseInsensitive } |
Public Member Functions | |
| String () | |
| String (const char8 *str, MBCodePage codepage, int32 n=-1, bool isTerminated=true) | |
| assign n characters of str and convert to wide string by using the specified codepage | |
| String (const char8 *str, int32 n=-1, bool isTerminated=true) | |
| assign n characters of str (-1: all) | |
| String (const char16 *str, int32 n=-1, bool isTerminated=true) | |
| assign n characters of str (-1: all) | |
| String (const String &str, int32 n=-1) | |
| assign n characters of str (-1: all) | |
| String (const ConstString &str, int32 n=-1) | |
| assign n characters of str (-1: all) | |
| String (const FVariant &var) | |
| assign from FVariant | |
| String (IString *str) | |
| assign from IString | |
| ~String () | |
| void | updateLength () |
| Call this when the string is truncated outside (not recommended though). | |
| const char8 * | text8 () const SMTG_OVERRIDE |
| Returns pointer to string of type char8. | |
| const char16 * | text16 () const SMTG_OVERRIDE |
| Returns pointer to string of type char16. | |
| char8 | getChar8 (uint32 index) const SMTG_OVERRIDE |
| Returns character of type char16 at 'index'. | |
| char16 | getChar16 (uint32 index) const SMTG_OVERRIDE |
| Returns character of type char8 at 'index'. | |
| bool | setChar8 (uint32 index, char8 c) |
| bool | setChar16 (uint32 index, char16 c) |
| bool | setChar (uint32 index, char8 c) |
| bool | setChar (uint32 index, char16 c) |
| String & | operator= (const char8 *str) |
| Assign from a string of type char8. | |
| String & | operator= (const char16 *str) |
| String & | operator= (const ConstString &str) |
| String & | operator= (const String &str) |
| String & | operator= (char8 c) |
| String & | operator= (char16 c) |
| String & | assign (const ConstString &str, int32 n=-1) |
| Assign n characters of str (-1: all). | |
| String & | assign (const char8 *str, int32 n=-1, bool isTerminated=true) |
| Assign n characters of str (-1: all). | |
| String & | assign (const char16 *str, int32 n=-1, bool isTerminated=true) |
| Assign n characters of str (-1: all). | |
| String & | assign (char8 c, int32 n=1) |
| String & | assign (char16 c, int32 n=1) |
| String & | append (const ConstString &str, int32 n=-1) |
| Append n characters of str to this (n=-1: all). | |
| String & | append (const char8 *str, int32 n=-1) |
| Append n characters of str to this (n=-1: all). | |
| String & | append (const char16 *str, int32 n=-1) |
| Append n characters of str to this (n=-1: all). | |
| String & | append (const char8 c, int32 n=1) |
| Append char c n times. | |
| String & | append (const char16 c, int32 n=1) |
| Append char c n times. | |
| String & | insertAt (uint32 idx, const ConstString &str, int32 n=-1) |
| Insert n characters of str at position idx (n=-1: all). | |
| String & | insertAt (uint32 idx, const char8 *str, int32 n=-1) |
| Insert n characters of str at position idx (n=-1: all). | |
| String & | insertAt (uint32 idx, const char16 *str, int32 n=-1) |
| Insert n characters of str at position idx (n=-1: all). | |
| String & | insertAt (uint32 idx, char8 c) |
| String & | insertAt (uint32 idx, char16 c) |
| String & | operator+= (const String &str) |
| String & | operator+= (const ConstString &str) |
| String & | operator+= (const char8 *str) |
| String & | operator+= (const char16 *str) |
| String & | operator+= (const char8 c) |
| String & | operator+= (const char16 c) |
| String & | replace (uint32 idx, int32 n1, const ConstString &str, int32 n2=-1) |
| Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end). | |
| String & | replace (uint32 idx, int32 n1, const char8 *str, int32 n2=-1) |
| Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end). | |
| String & | replace (uint32 idx, int32 n1, const char16 *str, int32 n2=-1) |
| Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end). | |
| int32 | replace (const char8 *toReplace, const char8 *toReplaceWith, bool all=false, CompareMode m=kCaseSensitive) |
| Replace find string with replace string - returns number of replacements. | |
| int32 | replace (const char16 *toReplace, const char16 *toReplaceWith, bool all=false, CompareMode m=kCaseSensitive) |
| Replace find string with replace string - returns number of replacements. | |
| bool | replaceChars8 (const char8 *toReplace, char8 toReplaceBy) |
| Returns true when any replacement was done. | |
| bool | replaceChars16 (const char16 *toReplace, char16 toReplaceBy) |
| bool | replaceChars8 (char8 toReplace, char8 toReplaceBy) |
| bool | replaceChars16 (char16 toReplace, char16 toReplaceBy) |
| bool | replaceChars (char8 toReplace, char8 toReplaceBy) |
| bool | replaceChars (char16 toReplace, char16 toReplaceBy) |
| bool | replaceChars (const char8 *toReplace, char8 toReplaceBy) |
| bool | replaceChars (const char16 *toReplace, char16 toReplaceBy) |
| String & | remove (uint32 index=0, int32 n=-1) |
| Remove n characters from string starting at index (n=-1: until end). | |
| bool | trim (CharGroup mode=kSpace) |
| Trim lead/trail. | |
| void | removeChars (CharGroup mode=kSpace) |
| Removes all of group. | |
| bool | removeChars8 (const char8 *which) |
| Remove all occurrences of each char in 'which'. | |
| bool | removeChars16 (const char16 *which) |
| Remove all occurrences of each char in 'which'. | |
| bool | removeChars8 (const char8 which) |
| bool | removeChars16 (const char16 which) |
| bool | removeChars (const char8 *which) |
| bool | removeChars (const char16 *which) |
| bool | removeChars (const char8 which) |
| bool | removeChars (const char16 which) |
| bool | removeSubString (const ConstString &subString, bool allOccurences=true) |
| String & | printf (const char8 *format,...) |
| Print formatted data into string. | |
| String & | printf (const char16 *format,...) |
| Print formatted data into string. | |
| String & | vprintf (const char8 *format, va_list args) |
| String & | vprintf (const char16 *format, va_list args) |
| String & | printInt64 (int64 value) |
| String & | printFloat (double value) |
| bool | incrementTrailingNumber (uint32 width=2, tchar separator=STR(' '), uint32 minNumber=1, bool applyOnlyFormat=false) |
| bool | fromVariant (const FVariant &var) |
| Assigns string from FVariant. | |
| void | toVariant (FVariant &var) const |
| bool | fromAttributes (IAttributes *a, IAttrID attrID) |
| Assigns string from FAttributes. | |
| bool | toAttributes (IAttributes *a, IAttrID attrID) |
| void | swapContent (String &s) |
| Swaps ownership of the strings pointed to. | |
| void | take (String &str) |
| Take ownership of the string of 'str'. | |
| void | take (void *_buffer, bool wide) |
| Take ownership of buffer. | |
| void * | pass () |
| void | passToVariant (FVariant &var) |
| Pass ownership of buffer to Variant - sets Variant ownership. | |
| void | toLower (uint32 index) |
| Lower case the character. | |
| void | toLower () |
| Lower case the string. | |
| void | toUpper (uint32 index) |
| Upper case the character. | |
| void | toUpper () |
| Upper case the string. | |
| unsigned char * | toPascalString (unsigned char *buf) |
| Pascal string conversion. | |
| const String & | fromPascalString (const unsigned char *buf) |
| Pascal string conversion. | |
| bool | toWideString (uint32 sourceCodePage=kCP_Default) |
| Converts to wide string according to sourceCodePage. | |
| bool | toMultiByte (uint32 destCodePage=kCP_Default) |
| void | fromUTF8 (const char8 *utf8String) |
| Assigns from UTF8 string. | |
| bool | normalize (UnicodeNormalization=kUnicodeNormC) |
| On PC only kUnicodeNormC is working. | |
| Public Member Functions inherited from Steinberg::ConstString | |
| ConstString (const char8 *str, int32 length=-1) | |
| Assign from string of type char8 (length=-1: all). | |
| ConstString (const char16 *str, int32 length=-1) | |
| Assign from string of type char16 (length=-1: all). | |
| ConstString (const ConstString &str, int32 offset=0, int32 length=-1) | |
| Copy constructor (length=-1: all). | |
| ConstString (const FVariant &var) | |
| Assign a string from FVariant. | |
| ConstString () | |
| virtual | ~ConstString () |
| Destructor. | |
| virtual int32 | length () const |
| Return length of string. | |
| bool | isEmpty () const |
| Return true if string is empty. | |
| operator const char8 * () const | |
| Returns pointer to string of type char8 (no modification allowed). | |
| operator const char16 * () const | |
| Returns pointer to string of type char16(no modification allowed). | |
| tchar | operator[] (short idx) const |
| Returns character at 'idx'. | |
| tchar | operator[] (long idx) const |
| tchar | operator[] (int idx) const |
| tchar | operator[] (unsigned short idx) const |
| tchar | operator[] (unsigned long idx) const |
| tchar | operator[] (unsigned int idx) const |
| virtual const tchar * | text () const |
| Returns pointer to string of type tchar. | |
| virtual const void * | ptr () const |
| Returns pointer to string of type void. | |
| tchar | getChar (uint32 index) const |
| Returns character of type tchar at 'index'. | |
| tchar | getCharAt (uint32 index) const |
| Returns character of type tchar at 'index', no conversion! | |
| bool | testChar8 (uint32 index, char8 c) const |
| Returns true if character is equal at position 'index'. | |
| bool | testChar16 (uint32 index, char16 c) const |
| bool | testChar (uint32 index, char8 c) const |
| bool | testChar (uint32 index, char16 c) const |
| bool | extract (String &result, uint32 idx, int32 n=-1) const |
| Get n characters long substring starting at index (n=-1: until end). | |
| int32 | copyTo8 (char8 *str, uint32 idx=0, int32 n=-1) const |
| int32 | copyTo16 (char16 *str, uint32 idx=0, int32 n=-1) const |
| int32 | copyTo (tchar *str, uint32 idx=0, int32 n=-1) const |
| void | copyTo (IStringResult *result) const |
| Copies whole member string. | |
| void | copyTo (IString &string) const |
| Copies whole member string. | |
| uint32 | hash (uint32 tsize) const |
| int32 | compareAt (uint32 index, const ConstString &str, int32 n=-1, CompareMode m=kCaseSensitive) const |
| Compare n characters of str with n characters of this starting at index (return: see above). | |
| int32 | compare (const ConstString &str, int32 n, CompareMode m=kCaseSensitive) const |
| Compare n characters of str with n characters of this (return: see above). | |
| int32 | compare (const ConstString &str, CompareMode m=kCaseSensitive) const |
| Compare all characters of str with this (return: see above). | |
| int32 | naturalCompare (const ConstString &str, CompareMode mode=kCaseSensitive) const |
| bool | startsWith (const ConstString &str, CompareMode m=kCaseSensitive) const |
| Check if this starts with str. | |
| bool | endsWith (const ConstString &str, CompareMode m=kCaseSensitive) const |
| Check if this ends with str. | |
| bool | contains (const ConstString &str, CompareMode m=kCaseSensitive) const |
| Check if this contains str. | |
| int32 | findLast (const ConstString &str, int32 n=-1, CompareMode m=kCaseSensitive) const |
| Find last occurrence of n characters of str in this (n=-1: all). | |
| int32 | findLast (char8 c, CompareMode m=kCaseSensitive) const |
| int32 | findLast (char16 c, CompareMode m=kCaseSensitive) const |
| int32 | countOccurences (char8 c, uint32 startIndex, CompareMode=kCaseSensitive) const |
| Counts occurences of c within this starting at index. | |
| int32 | countOccurences (char16 c, uint32 startIndex, CompareMode=kCaseSensitive) const |
| int32 | getFirstDifferent (const ConstString &str, CompareMode=kCaseSensitive) const |
| Returns position of first different character. | |
| bool | isDigit (uint32 index) const |
| Returns true if character at position is a digit. | |
| bool | scanFloat (double &value, uint32 offset=0, bool scanToEnd=true) const |
| Converts string to double value starting at offset. | |
| bool | scanInt64 (int64 &value, uint32 offset=0, bool scanToEnd=true) const |
| Converts string to int64 value starting at offset. | |
| bool | scanUInt64 (uint64 &value, uint32 offset=0, bool scanToEnd=true) const |
| Converts string to uint64 value starting at offset. | |
| bool | scanInt32 (int32 &value, uint32 offset=0, bool scanToEnd=true) const |
| Converts string to int32 value starting at offset. | |
| bool | scanUInt32 (uint32 &value, uint32 offset=0, bool scanToEnd=true) const |
| Converts string to uint32 value starting at offset. | |
| bool | scanHex (uint8 &value, uint32 offset=0, bool scanToEnd=true) const |
| Converts string to hex/uint8 value starting at offset. | |
| int32 | getTrailingNumberIndex (uint32 width=0) const |
| Returns start index of trailing number. | |
| int64 | getTrailingNumber (int64 fallback=0) const |
| Returns result of scanInt64 or the fallback. | |
| int64 | getNumber () const |
| Returns result of scanInt64. | |
| void | toVariant (FVariant &var) const |
| bool | isWideString () const |
| Returns true if string is wide. | |
| bool | isAsciiString () const |
| Checks if all characters in string are in ascii range. | |
| bool | isNormalized (UnicodeNormalization=kUnicodeNormC) |
| On PC only kUnicodeNormC is working. | |
| int32 | findFirst (const ConstString &str, int32 n=-1, CompareMode m=kCaseSensitive, int32 endIndex=-1) const |
| int32 | findFirst (char8 c, CompareMode m=kCaseSensitive, int32 endIndex=-1) const |
| int32 | findFirst (char16 c, CompareMode m=kCaseSensitive, int32 endIndex=-1) const |
| int32 | findNext (int32 startIndex, const ConstString &str, int32 n=-1, CompareMode=kCaseSensitive, int32 endIndex=-1) const |
| int32 | findNext (int32 startIndex, char8 c, CompareMode=kCaseSensitive, int32 endIndex=-1) const |
| int32 | findNext (int32 startIndex, char16 c, CompareMode=kCaseSensitive, int32 endIndex=-1) const |
| int32 | findPrev (int32 startIndex, const ConstString &str, int32 n=-1, CompareMode=kCaseSensitive) const |
| int32 | findPrev (int32 startIndex, char8 c, CompareMode=kCaseSensitive) const |
| int32 | findPrev (int32 startIndex, char16 c, CompareMode=kCaseSensitive) const |
Protected Member Functions | |
| bool | resize (uint32 newSize, bool wide, bool fill=false) |
Private Member Functions | |
| void | tryFreeBuffer () |
| bool | checkToMultiByte (uint32 destCodePage=kCP_Default) const |
Additional Inherited Members | |
| Static Public Member Functions inherited from Steinberg::ConstString | |
| static bool | isCharSpace (char8 character) |
| Returns true if character is a space. | |
| static bool | isCharSpace (char16 character) |
| Returns true if character is a space. | |
| static bool | isCharAlpha (char8 character) |
| Returns true if character is an alphabetic character. | |
| static bool | isCharAlpha (char16 character) |
| Returns true if character is an alphabetic character. | |
| static bool | isCharAlphaNum (char8 character) |
| Returns true if character is an alphanumeric character. | |
| static bool | isCharAlphaNum (char16 character) |
| Returns true if character is an alphanumeric character. | |
| static bool | isCharDigit (char8 character) |
| Returns true if character is a number. | |
| static bool | isCharDigit (char16 character) |
| Returns true if character is a number. | |
| static bool | isCharAscii (char8 character) |
| Returns true if character is in ASCII range. | |
| static bool | isCharAscii (char16 character) |
| Returns true if character is in ASCII range. | |
| static bool | isCharUpper (char8 character) |
| static bool | isCharUpper (char16 character) |
| static bool | isCharLower (char8 character) |
| static bool | isCharLower (char16 character) |
| static bool | scanInt64_8 (const char8 *text, int64 &value, bool scanToEnd=true) |
| Converts string of type char8 to int64 value. | |
| static bool | scanInt64_16 (const char16 *text, int64 &value, bool scanToEnd=true) |
| Converts string of type char16 to int64 value. | |
| static bool | scanInt64 (const tchar *text, int64 &value, bool scanToEnd=true) |
| Converts string of type tchar to int64 value. | |
| static bool | scanUInt64_8 (const char8 *text, uint64 &value, bool scanToEnd=true) |
| Converts string of type char8 to uint64 value. | |
| static bool | scanUInt64_16 (const char16 *text, uint64 &value, bool scanToEnd=true) |
| Converts string of type char16 to uint64 value. | |
| static bool | scanUInt64 (const tchar *text, uint64 &value, bool scanToEnd=true) |
| Converts string of type tchar to uint64 value. | |
| static bool | scanInt32_8 (const char8 *text, int32 &value, bool scanToEnd=true) |
| Converts string of type char8 to int32 value. | |
| static bool | scanInt32_16 (const char16 *text, int32 &value, bool scanToEnd=true) |
| Converts string of type char16 to int32 value. | |
| static bool | scanInt32 (const tchar *text, int32 &value, bool scanToEnd=true) |
| Converts string of type tchar to int32 value. | |
| static bool | scanUInt32_8 (const char8 *text, uint32 &value, bool scanToEnd=true) |
| Converts string of type char8 to int32 value. | |
| static bool | scanUInt32_16 (const char16 *text, uint32 &value, bool scanToEnd=true) |
| Converts string of type char16 to int32 value. | |
| static bool | scanUInt32 (const tchar *text, uint32 &value, bool scanToEnd=true) |
| Converts string of type tchar to int32 value. | |
| static bool | scanHex_8 (const char8 *text, uint8 &value, bool scanToEnd=true) |
| Converts string of type char8 to hex/unit8 value. | |
| static bool | scanHex_16 (const char16 *text, uint8 &value, bool scanToEnd=true) |
| Converts string of type char16 to hex/unit8 value. | |
| static bool | scanHex (const tchar *text, uint8 &value, bool scanToEnd=true) |
| Converts string of type tchar to hex/unit8 value. | |
| static char8 | toLower (char8 c) |
| Converts to lower case. | |
| static char8 | toUpper (char8 c) |
| Converts to upper case. | |
| static char16 | toLower (char16 c) |
| static char16 | toUpper (char16 c) |
| static int32 | multiByteToWideString (char16 *dest, const char8 *source, int32 wcharCount, uint32 sourceCodePage=kCP_Default) |
| If dest is zero, this returns the maximum number of bytes needed to convert source. | |
| static int32 | wideStringToMultiByte (char8 *dest, const char16 *source, int32 char8Count, uint32 destCodePage=kCP_Default) |
| If dest is zero, this returns the maximum number of bytes needed to convert source. | |
| Protected Attributes inherited from Steinberg::ConstString | |
| union { | |
| void * buffer | |
| char8 * buffer8 | |
| char16 * buffer16 | |
| }; | |
| uint32 | len: 30 |
| uint32 | isWide: 1 |
| Steinberg::String::String | ( | ) |
| Steinberg::String::String | ( | const char8 * | str, |
| MBCodePage | codepage, | ||
| int32 | n = -1, | ||
| bool | isTerminated = true ) |
assign n characters of str and convert to wide string by using the specified codepage
assign n characters of str (-1: all)
assign n characters of str (-1: all)
| Steinberg::String::String | ( | const ConstString & | str, |
| int32 | n = -1 ) |
assign n characters of str (-1: all)
| Steinberg::String::~String | ( | ) |
Append n characters of str to this (n=-1: all).
Append n characters of str to this (n=-1: all).
| String & Steinberg::String::append | ( | const ConstString & | str, |
| int32 | n = -1 ) |
Append n characters of str to this (n=-1: all).
Assign n characters of str (-1: all).
Assign n characters of str (-1: all).
| String & Steinberg::String::assign | ( | const ConstString & | str, |
| int32 | n = -1 ) |
Assign n characters of str (-1: all).
|
private |
| bool Steinberg::String::fromAttributes | ( | IAttributes * | a, |
| IAttrID | attrID ) |
Assigns string from FAttributes.
Pascal string conversion.
Returns character of type char8 at 'index'.
Reimplemented from Steinberg::ConstString.
Returns character of type char16 at 'index'.
Reimplemented from Steinberg::ConstString.
| bool Steinberg::String::incrementTrailingNumber | ( | uint32 | width = 2, |
| tchar | separator = STR (' '), | ||
| uint32 | minNumber = 1, | ||
| bool | applyOnlyFormat = false ) |
Increment the trailing number if present else start with minNumber, width specifies the string width format (width 2 for number 3 is 03), applyOnlyFormat set to true will only format the string to the given width without incrementing the founded trailing number
Insert n characters of str at position idx (n=-1: all).
Insert n characters of str at position idx (n=-1: all).
| String & Steinberg::String::insertAt | ( | uint32 | idx, |
| const ConstString & | str, | ||
| int32 | n = -1 ) |
Insert n characters of str at position idx (n=-1: all).
| bool Steinberg::String::normalize | ( | UnicodeNormalization | n = kUnicodeNormC | ) |
On PC only kUnicodeNormC is working.
|
inline |
Assign from a string of type char8.
|
inline |
| void * Steinberg::String::pass | ( | ) |
Pass ownership of buffer to Variant - sets Variant ownership.
| String & Steinberg::String::printFloat | ( | double | value | ) |
Remove n characters from string starting at index (n=-1: until end).
Remove all occurrences of each char in 'which'.
Remove all occurrences of each char in 'which'.
| bool Steinberg::String::removeSubString | ( | const ConstString & | subString, |
| bool | allOccurences = true ) |
| int32 Steinberg::String::replace | ( | const char16 * | toReplace, |
| const char16 * | toReplaceWith, | ||
| bool | all = false, | ||
| CompareMode | m = kCaseSensitive ) |
Replace find string with replace string - returns number of replacements.
| int32 Steinberg::String::replace | ( | const char8 * | toReplace, |
| const char8 * | toReplaceWith, | ||
| bool | all = false, | ||
| CompareMode | m = kCaseSensitive ) |
Replace find string with replace string - returns number of replacements.
Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end).
Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end).
| String & Steinberg::String::replace | ( | uint32 | idx, |
| int32 | n1, | ||
| const ConstString & | str, | ||
| int32 | n2 = -1 ) |
Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end).
Returns true when any replacement was done.
Returns pointer to string of type char16.
Reimplemented from Steinberg::ConstString.
Returns pointer to string of type char8.
Reimplemented from Steinberg::ConstString.
| bool Steinberg::String::toAttributes | ( | IAttributes * | a, |
| IAttrID | attrID ) |
| void Steinberg::String::toLower | ( | ) |
Lower case the string.
| bool Steinberg::String::toMultiByte | ( | uint32 | destCodePage = kCP_Default | ) |
| unsigned char * Steinberg::String::toPascalString | ( | unsigned char * | buf | ) |
Pascal string conversion.
| void Steinberg::String::toUpper | ( | ) |
Upper case the string.
| bool Steinberg::String::toWideString | ( | uint32 | sourceCodePage = kCP_Default | ) |
Converts to wide string according to sourceCodePage.
| bool Steinberg::String::trim | ( | String::CharGroup | group = kSpace | ) |
Trim lead/trail.
|
private |
| void Steinberg::String::updateLength | ( | ) |
Call this when the string is truncated outside (not recommended though).