Interface Technology Basics  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
UString Class Reference

UTF-16 string class without buffer management. More...

#include <ustring.h>

+ Inheritance diagram for UString:

Public Member Functions

 UString (char16 *buffer, int32 size)
 Construct from UTF-16 string, size is in code unit (count of char16)
 
int32 getSize () const
 returns buffer size
 
 operator const char16 * () const
 cast to char16*
 
int32 getLength () const
 Returns length of string (in code unit).
 
UStringassign (const char16 *src, int32 srcSize=-1)
 Copy from UTF-16 buffer (srcSize is in code unit (count of char16)).
 
UStringappend (const char16 *src, int32 srcSize=-1)
 Append UTF-16 buffer (srcSize is in code unit (count of char16)).
 
const UStringcopyTo (char16 *dst, int32 dstSize) const
 Copy to UTF-16 buffer (dstSize is in code unit (count of char16)).
 
UStringfromAscii (const char *src, int32 srcSize=-1)
 Copy from ASCII string (srcSize is in code unit (count of char16)).
 
UStringassign (const char *src, int32 srcSize=-1)
 
const UStringtoAscii (char *dst, int32 dstSize) const
 Copy to ASCII string.
 
bool scanInt (int64 &value) const
 Scan integer from string.
 
bool printInt (int64 value)
 Print integer to string.
 
bool scanFloat (double &value) const
 Scan float from string.
 
bool printFloat (double value, int32 precision=4)
 Print float to string.
 

Protected Attributes

char16thisBuffer
 
int32 thisSize
 size in code unit (not in byte!)
 

Detailed Description

UTF-16 string class without buffer management.

Note: that some characters are encoded in 2 UTF16 code units (surrogate pair), this means that getLength returns the number of code unit, not the count of character!

Constructor & Destructor Documentation

UString ( char16 buffer,
int32  size 
)
inline

Construct from UTF-16 string, size is in code unit (count of char16)

Member Function Documentation

int32 getSize ( ) const
inline

returns buffer size

operator const char16 * ( ) const
inline

cast to char16*

int32 getLength ( ) const

Returns length of string (in code unit).

Note this is not the count of character!

UString & assign ( const char16 src,
int32  srcSize = -1 
)

Copy from UTF-16 buffer (srcSize is in code unit (count of char16)).

UString & append ( const char16 src,
int32  srcSize = -1 
)

Append UTF-16 buffer (srcSize is in code unit (count of char16)).

const UString & copyTo ( char16 dst,
int32  dstSize 
) const

Copy to UTF-16 buffer (dstSize is in code unit (count of char16)).

UString & fromAscii ( const char src,
int32  srcSize = -1 
)

Copy from ASCII string (srcSize is in code unit (count of char16)).

UString& assign ( const char src,
int32  srcSize = -1 
)
inline
const UString & toAscii ( char dst,
int32  dstSize 
) const

Copy to ASCII string.

bool scanInt ( int64 value) const

Scan integer from string.

bool printInt ( int64  value)

Print integer to string.

bool scanFloat ( double &  value) const

Scan float from string.

bool printFloat ( double  value,
int32  precision = 4 
)

Print float to string.

Member Data Documentation

char16* thisBuffer
protected
int32 thisSize
protected

size in code unit (not in byte!)

Empty

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