Base Module  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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
 
- Public Member Functions inherited from FObject
 FObject ()=default
 default constructor...
 
 FObject (const FObject &)
 
FObjectoperator= (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 (usefull in collecting updates).
 
virtual void updateDone (int32)
 empty virtual method that should be overridden by derived classes
 
virtual bool isEqualInstance (FUnknown *d)
 
- 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)
 
Stringoperator= (const char8 *str)
 Assign from a string of type char8.
 
Stringoperator= (const char16 *str)
 
Stringoperator= (const ConstString &str)
 
Stringoperator= (const String &str)
 
Stringoperator= (char8 c)
 
Stringoperator= (char16 c)
 
Stringassign (const ConstString &str, int32 n=-1)
 Assign n characters of str (-1: all)
 
Stringassign (const char8 *str, int32 n=-1, bool isTerminated=true)
 Assign n characters of str (-1: all)
 
Stringassign (const char16 *str, int32 n=-1, bool isTerminated=true)
 Assign n characters of str (-1: all)
 
Stringassign (char8 c, int32 n=1)
 
Stringassign (char16 c, int32 n=1)
 
Stringappend (const ConstString &str, int32 n=-1)
 Append n characters of str to this (n=-1: all)
 
Stringappend (const char8 *str, int32 n=-1)
 Append n characters of str to this (n=-1: all)
 
Stringappend (const char16 *str, int32 n=-1)
 Append n characters of str to this (n=-1: all)
 
Stringappend (const char8 c, int32 n=1)
 Append char c n times.
 
Stringappend (const char16 c, int32 n=1)
 Append char c n times.
 
StringinsertAt (uint32 idx, const ConstString &str, int32 n=-1)
 Insert n characters of str at position idx (n=-1: all)
 
StringinsertAt (uint32 idx, const char8 *str, int32 n=-1)
 Insert n characters of str at position idx (n=-1: all)
 
StringinsertAt (uint32 idx, const char16 *str, int32 n=-1)
 Insert n characters of str at position idx (n=-1: all)
 
StringinsertAt (uint32 idx, char8 c)
 
StringinsertAt (uint32 idx, char16 c)
 
Stringoperator+= (const String &str)
 
Stringoperator+= (const ConstString &str)
 
Stringoperator+= (const char8 *str)
 
Stringoperator+= (const char16 *str)
 
Stringoperator+= (const char8 c)
 
Stringoperator+= (const char16 c)
 
Stringreplace (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)
 
Stringreplace (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)
 
Stringreplace (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)
 
Stringremove (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)
 
Stringprintf (const char8 *format,...)
 Print formatted data into string.
 
Stringprintf (const char16 *format,...)
 Print formatted data into string.
 
Stringvprintf (const char8 *format, va_list args)
 
Stringvprintf (const char16 *format, va_list args)
 
StringprintInt64 (int64 value)
 
StringprintFloat (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 StringfromPascalString (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 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
 

Public Attributes

 IString
 

Additional Inherited Members

- Public Types inherited from String
enum  CharGroup { kSpace, kNotAlphaNum, kNotAlpha }
 
- 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 FObjectunknownToObject (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 ( )
inline
StringObject ( const char16 *  str,
int32  n = -1,
bool  isTerminated = true 
)
inline
StringObject ( const char8 *  str,
int32  n = -1,
bool  isTerminated = true 
)
inline
StringObject ( const StringObject str,
int32  n = -1 
)
inline
StringObject ( const String str,
int32  n = -1 
)
inline
StringObject ( const FVariant &  var)
inline

Member Function Documentation

void setText ( const char8 *  text)
void setText8 ( const char8 *  text)
void setText16 ( const char16 *  text)
const char8 * getText8 ( )
const char16 * getText16 ( )
void take ( void *  s,
bool  _isWide 
)
bool isWideString ( ) const
OBJ_METHODS ( StringObject  ,
FObject   
)

Member Data Documentation

IString
Empty

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