Base Module: StringObject Class Reference
Author: Steinberg

Base Module VST 3.8 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
StringObject Class Reference

StringObject implements IStringResult and IString methods. More...

`#include <fstring.h>`

Inheritance diagram for StringObject:

## Public Member Functions
| StringObject ()
| StringObject (const char16 *str, int32 n=-1, bool isTerminated=true)
| StringObject (const char8 *str, int32 n=-1, bool isTerminated=true)
| StringObject (const StringObject &str, int32 n=-1)
| StringObject (const String &str, int32 n=-1)
| StringObject (const FVariant &var)
void | setText (const char8 *text) SMTG_OVERRIDE
void | setText8 (const char8 *text) SMTG_OVERRIDE
void | setText16 (const char16 *text) SMTG_OVERRIDE
const char8 * | getText8 () SMTG_OVERRIDE
const char16 * | getText16 () SMTG_OVERRIDE
void | take (void *s, bool _isWide) SMTG_OVERRIDE
bool | isWideString () const SMTG_OVERRIDE
| OBJ_METHODS (StringObject, FObject) FUNKNOWN_METHODS2(IStringResult
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)
Public Member Functions inherited from FObject
| FObject ()=default
| default constructor...
| FObject (const FObject &)
FObject & | operator= (const FObject &)
| overloads operator "=" as the reference assignment
virtual | ~FObject ()
| destructor...
virtual FClassID | isA () const
| a local alternative to getFClassID ()
virtual bool | isA (FClassID s) const
| evaluates if the passed ID is of the FObject type
virtual bool | isTypeOf (FClassID s, bool=true) const
| evaluates if the passed ID is of the FObject type
int32 | getRefCount ()
| returns the current interface reference count
FUnknown * | unknownCast ()
| get FUnknown interface from object
tresult | queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE
| please refer to FUnknown::queryInterface ()
uint32 | addRef () SMTG_OVERRIDE
| please refer to FUnknown::addref ()
uint32 | release () SMTG_OVERRIDE
| please refer to FUnknown::release ()
void | update (FUnknown *, int32) SMTG_OVERRIDE
| empty virtual method that should be overridden by derived classes for data updates upon changes
virtual void | addDependent (IDependent *dep)
| adds dependency to the object
virtual void | removeDependent (IDependent *dep)
| removes dependency from the object
virtual void | changed (int32 msg=kChanged)
| Inform all dependents, that the object has changed.
virtual void | deferUpdate (int32 msg=kChanged)
| Similar to triggerUpdates, except only delivered in idle (useful in collecting updates).
virtual void | updateDone (int32)
| empty virtual method that should be overridden by derived classes
virtual bool | isEqualInstance (FUnknown *d)
template<class C>
IPtr< C > | fromUnknown (FUnknown *unknown)
Public Member Functions inherited from String
| 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 () SMTG_OVERRIDE
void | updateLength ()
| Call this when the string is truncated outside (not recommended though)
const char8 * | text8 () const SMTG_OVERRIDE
const char16 * | text16 () const SMTG_OVERRIDE
char8 | getChar8 (uint32 index) const SMTG_OVERRIDE
char16 | getChar16 (uint32 index) const SMTG_OVERRIDE
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, uint32 maxPrecision=6)
| print a float into a string, trailing zeros will be trimmed
bool | incrementTrailingNumber (uint32 width=2, char 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.
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 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)
char | operator[] (short idx) const
| Returns character at 'idx'.
char | operator[] (long idx) const
char | operator[] (int idx) const
char | operator[] (unsigned short idx) const
char | operator[] (unsigned long idx) const
char | operator[] (unsigned int idx) const
virtual const char * | text () const
| Returns pointer to string of type tchar.
virtual const void * | ptr () const
| Returns pointer to string of type void.
char | getChar (uint32 index) const
| Returns character of type tchar at 'index'.
char | 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 (char *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 occurrences 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

## Public Attributes
| IString

## Additional Inherited Members
Public Types inherited from String
enum | CharGroup { kSpace , kNotAlphaNum , kNotAlpha }
Public Types inherited from ConstString
enum | CompareMode { kCaseSensitive , kCaseInsensitive }
Static Public Member Functions inherited from FObject
static FClassID | getFClassID ()
| return Class ID as an ASCII string (statically)
static void | setUpdateHandler (IUpdateHandler *handler)
| set method for the local attribute
static IUpdateHandler * | getUpdateHandler ()
| get method for the local attribute
static bool | classIDsEqual (FClassID ci1, FClassID ci2)
| compares (evaluates) 2 class IDs
static FObject * | unknownToObject (FUnknown *unknown)
| pointer conversion from FUnknown to FObject
template<class Class>
static IPtr< Class > | fromUnknown (FUnknown *unknown)
| convert from FUnknown to FObject
Static Public Member Functions inherited from 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 char *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 char *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 char *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 char *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 char *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.
Static Public Attributes inherited from FObject
static const FUID | iid
| Special UID that is used to cast an FUnknown pointer to a FObject.
Protected Member Functions inherited from String
bool | resize (uint32 newSize, bool wide, bool fill=false)
Protected Attributes inherited from FObject
int32 | refCount = 1
| COM-model local reference count.
Protected Attributes inherited from ConstString
union { |
void * buffer |
char8 * buffer8 |
char16 * buffer16 |
}; |  |
uint32 | len: 30
uint32 | isWide: 1
Static Protected Attributes inherited from FObject
static IUpdateHandler * | gUpdateHandler = nullptr

## Detailed Description

StringObject implements IStringResult and IString methods.

It can therefore be exchanged with other Steinberg objects using one or both of these interfaces.

See also
  String, ConstString

## Constructor & Destructor Documentation

## ◆ StringObject() [1/6]

StringObject | ( |  | ) |
| inline

## ◆ StringObject() [2/6]

StringObject | ( | const char16 * | str,
|  | int32 | n = -1,
|  | bool | isTerminated = true )
| inline

## ◆ StringObject() [3/6]

StringObject | ( | const char8 * | str,
|  | int32 | n = -1,
|  | bool | isTerminated = true )
| inline

## ◆ StringObject() [4/6]

StringObject | ( | const StringObject & | str,
|  | int32 | n = -1 )
| inline

## ◆ StringObject() [5/6]

StringObject | ( | const String & | str,
|  | int32 | n = -1 )
| inline

## ◆ StringObject() [6/6]

StringObject | ( | const FVariant & | var | ) |
| inline

## Member Function Documentation

## ◆ setText()

void setText | ( | const char8 * | text | ) |

## ◆ setText8()

void setText8 | ( | const char8 * | text | ) |

## ◆ setText16()

void setText16 | ( | const char16 * | text | ) |

## ◆ getText8()

const char8 * getText8 | ( |  | ) |

## ◆ getText16()

const char16 * getText16 | ( |  | ) |

## ◆ take()

void take | ( | void * | s,
|  | bool | _isWide )

## ◆ isWideString()

bool isWideString | ( |  | ) | const

## ◆ OBJ_METHODS()

OBJ_METHODS | ( | StringObject | ,
|  | FObject | )

## ◆ operator=() [1/6]

String & operator= | ( | const char8 * | str | ) |
| inline

Assign from a string of type char8.

## ◆ operator=() [2/6]

String & operator= | ( | const char16 * | str | ) |
| inline

## ◆ operator=() [3/6]

String & operator= | ( | const ConstString & | str | ) |
| inline

## ◆ operator=() [4/6]

String & operator= | ( | const String & | str | ) |
| inline

## ◆ operator=() [5/6]

String & operator= | ( | char8 | c | ) |
| inline

## ◆ operator=() [6/6]

String & operator= | ( | char16 | c | ) |
| inline

## Member Data Documentation

## ◆ IString

IString

Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.