Interface Technology Basics: UString Class Reference
Author: Steinberg

Interface Technology Basics VST 3.7 SDK for developing VST plug-in

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions | Protected Attributes | List of all members
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).
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)
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.

## Protected Attributes
char16 * | thisBuffer
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 ©2022 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.