|
openNURBS SDK Help
6.0
|
#include <opennurbs_string.h>
Public Member Functions | |
| ON_wString () ON_NOEXCEPT | |
| Constructors. More... | |
| ON_wString (const ON_wString &) | |
| ON_wString (const ON_String &src) | |
| src = UTF-8 string More... | |
| ON_wString (const char *src) | |
| src = nul; terminated UTF-8 string More... | |
| ON_wString (const char *src, int) | |
| from UTF-8 substring More... | |
| ON_wString (char, int=1) | |
| ON_wString (const unsigned char *src) | |
| src = nul; terminated UTF-8 string More... | |
| ON_wString (const unsigned char *src, int) | |
| from UTF-8 substring More... | |
| ON_wString (unsigned char, int=1) | |
| ON_wString (const wchar_t *) | |
| ON_wString (const wchar_t *, int) | |
| from substring More... | |
| ON_wString (wchar_t, int=1) | |
| ~ON_wString () | |
| void | Append (const char *sUTF8, int) |
| string concatenation More... | |
| void | Append (const unsigned char *sUTF8, int) |
| append specified number of elements from a UTF-8 string More... | |
| void | Append (const wchar_t *, int) |
| append specified number of elements More... | |
| wchar_t * | Array () |
| const wchar_t * | Array () const |
| int | Compare (const wchar_t *) const |
| ON_DEPRECATED ///< deprecation in progress. More... | |
| int | Compare (const ON_wString &other_string, const class ON_Locale &locale, bool bIgnoreCase) const |
| int | Compare (const wchar_t *other_string, const class ON_Locale &locale, bool bIgnoreCase) const |
| int | CompareAttributeName (const wchar_t *other_name) const |
| int | CompareNoCase (const wchar_t *) const |
| ON_DEPRECATED ///< deprecation in progress. More... | |
| int | CompareOrdinal (const ON_wString &other_string, bool bOrdinalIgnoreCase) const |
| int | CompareOrdinal (const wchar_t *other_string, bool bOrdinalIgnoreCase) const |
| int | ComparePath (const wchar_t *other_path) const |
| const ON_SHA1_Hash | ContentHash (ON_StringMapOrdinalType mapping) const |
| void | Create () |
| ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const |
| ON__UINT32 | DataCRCLower (ON__UINT32 current_remainder) const |
| void | Destroy () |
| releases any memory and initializes to default empty string More... | |
| void | EmergencyDestroy () |
| void | Empty () |
| sets length to zero - if possible, memory is retained More... | |
| void | EnableReferenceCounting (bool bEnable) |
| bool | Equal (const ON_wString &other_string, const class ON_Locale &locale, bool bIgnoreCase) const |
| bool | Equal (const wchar_t *other_string, const class ON_Locale &locale, bool bIgnoreCase) const |
| bool | EqualAttributeName (const wchar_t *other_name) const |
| bool | EqualOrdinal (const ON_wString &other_string, bool bOrdinalIgnoreCase) const |
| bool | EqualOrdinal (const wchar_t *other_string, bool bOrdinalIgnoreCase) const |
| bool | EqualPath (const wchar_t *other_path) const |
| int | Find (char utf8_single_byte_c) const |
| int | Find (unsigned char utf8_single_byte_c) const |
| int | Find (wchar_t w) const |
| int | Find (const char *sUTF8) const |
| int | Find (const unsigned char *sUTF8) const |
| int | Find (const wchar_t *wcharString) const |
| int | Find (char utf8_single_byte_c, size_t start_index) const |
| int | Find (unsigned char utf8_single_byte_c, size_t start_index) const |
| int | Find (wchar_t w, size_t start_index) const |
| int | Find (wchar_t w, int start_index) const |
| int | Find (const char *sUTF8, size_t start_index) const |
| int | Find (const unsigned char *sUTF8, size_t start_index) const |
| int | Find (const wchar_t *wcharString, size_t start_index) const |
| int | Find (const wchar_t *wcharString, int start_index) const |
| int | FindOneOf (const wchar_t *character_set) const |
| bool ON_VARGS_FUNC_CDECL | Format (const wchar_t *format,...) |
| bool | FormatVargs (const wchar_t *format, va_list args) |
| wchar_t | GetAt (int) const |
| bool | IsEmpty () const |
| bool | IsNotEmpty () const |
| returns true if length > 0 More... | |
| bool | IsReferenceCounted () const |
| ON_wString | Left (int) const |
| int | Length () const |
| Attributes & Operations. More... | |
| void | MakeLower () |
| void | MakeLowerOrdinal () |
| void | MakeReverse () |
| void | MakeUpper () |
| upper/lower/reverse conversion More... | |
| void | MakeUpperOrdinal () |
| ON_wString | MapString (const class ON_Locale &locale, ON_StringMapType map_type) const |
| ON_wString | MapStringOrdinal (ON_StringMapOrdinalType map_type) const |
| ON_wString | Mid (int, int) const |
| simple sub-string extraction More... | |
| ON_wString | Mid (int) const |
| operator const wchar_t * () const | |
| ON_wString | operator+ (const ON_wString &) const |
| operator+() More... | |
| ON_wString | operator+ (const ON_String &sUTF8) const |
| concatinate with a UTF-8 string More... | |
| ON_wString | operator+ (char) const |
| ON_wString | operator+ (unsigned char) const |
| ON_wString | operator+ (wchar_t) const |
| ON_wString | operator+ (const char *sUTF8) const |
| concatinate with a UTF-8 string More... | |
| ON_wString | operator+ (const unsigned char *sUTF8) const |
| concatinate with a UTF-8 string More... | |
| ON_wString | operator+ (const wchar_t *) const |
| const ON_wString & | operator+= (const ON_wString &) |
| const ON_wString & | operator+= (const ON_String &sUTF8) |
| append UTF-8 string More... | |
| const ON_wString & | operator+= (char) |
| const ON_wString & | operator+= (unsigned char) |
| const ON_wString & | operator+= (wchar_t) |
| const ON_wString & | operator+= (const char *sUTF8) |
| append UTF-8 string More... | |
| const ON_wString & | operator+= (const unsigned char *sUTF8) |
| append UTF-8 string More... | |
| const ON_wString & | operator+= (const wchar_t *) |
| const ON_wString & | operator= (const ON_wString &) |
| overloaded assignment More... | |
| const ON_wString & | operator= (const ON_String &src) |
| src = UTF-8 string More... | |
| const ON_wString & | operator= (char) |
| const ON_wString & | operator= (const char *src) |
| src = UTF-8 string More... | |
| const ON_wString & | operator= (unsigned char) |
| const ON_wString & | operator= (const unsigned char *src) |
| src = UTF-8 string More... | |
| const ON_wString & | operator= (wchar_t) |
| const ON_wString & | operator= (const wchar_t *) |
| wchar_t & | operator[] (int) |
| wchar_t | operator[] (int) const |
| int | Remove (char utf8_single_byte_c) |
| int | Remove (unsigned char utf8_single_byte_c) |
| int | Remove (wchar_t w) |
| const ON_wString | RemovePrefix (const wchar_t *prefix, const class ON_Locale &locale, bool bIgnoreCase) const |
| const ON_wString | RemoveSuffix (const wchar_t *suffix, const class ON_Locale &locale, bool bIgnoreCase) const |
| int | RemoveWhiteSpace (const wchar_t *whitespace=0) |
| int | Replace (const wchar_t *token1, const wchar_t *token2) |
| int | Replace (wchar_t token1, wchar_t token2) |
| int | ReplaceWhiteSpace (wchar_t token, const wchar_t *whitespace=0) |
| wchar_t * | ReserveArray (size_t) |
| Low level access to string contents as character array. More... | |
| ON_wString | Reverse () const |
| int | ReverseFind (char utf8_single_byte_c) const |
| int | ReverseFind (unsigned char utf8_single_byte_c) const |
| int | ReverseFind (wchar_t w) const |
| int | ReverseFind (const char *sUTF8) const |
| int | ReverseFind (const wchar_t *wideString) const |
| ON_wString | Right (int) const |
| int ON_VARGS_FUNC_CDECL | Scan (const wchar_t *format,...) const |
| void | SetAt (int, char) |
| void | SetAt (int, unsigned char) |
| void | SetAt (int, wchar_t) |
| wchar_t * | SetLength (size_t) |
| set length (<=capacity) More... | |
| void | ShrinkArray () |
| the requested capacity. More... | |
| unsigned int | SizeOf () const |
| const ON_wString | SubString (int start_index) const |
| const ON_wString | SubString (int start_index, int count) const |
| void | TrimLeft (const wchar_t *s=nullptr) |
| void | TrimLeftAndRight (const wchar_t *s=nullptr) |
| void | TrimRight (const wchar_t *s=nullptr) |
| unsigned int | UnsignedLength () const |
| bool | UrlDecode () |
| void | UrlEncode () |
| bool | WildCardMatch (const wchar_t *) const |
| bool | WildCardMatchNoCase (const wchar_t *) const |
Static Public Member Functions | |
| static const ON_wString | ApproximateFromNumber (double d) |
| static int | Compare (const wchar_t *string1, const wchar_t *string2, const class ON_Locale &locale, bool bIgnoreCase) |
| static int | Compare (const wchar_t *string1, int element_count1, const wchar_t *string2, int element_count2, const class ON_Locale &locale, bool bIgnoreCase) |
| static int | CompareAttributeName (const wchar_t *name1, const wchar_t *name2) |
| static int | CompareOrdinal (const wchar_t *string1, const wchar_t *string2, bool bOrdinalIgnoreCase) |
| static int | CompareOrdinal (const wchar_t *string1, int element_count1, const wchar_t *string2, int element_count2, bool bOrdinalIgnoreCase) |
| static int | ComparePath (const wchar_t *path1, const wchar_t *path2) |
| static int | ComparePath (const wchar_t *path1, int element_count1, const wchar_t *path2, int element_count2) |
| static bool | Equal (const wchar_t *string1, const wchar_t *string2, const class ON_Locale &locale, bool bIgnoreCase) |
| static bool | Equal (const wchar_t *string1, int element_count1, const wchar_t *string2, int element_count2, const class ON_Locale &locale, bool bIgnoreCase) |
| static bool | EqualAttributeName (const wchar_t *name1, const wchar_t *name2) |
| static bool | EqualOrdinal (const wchar_t *string1, const wchar_t *string2, bool bOrdinalIgnoreCase) |
| static bool | EqualOrdinal (const wchar_t *string1, int element_count1, const wchar_t *string2, int element_count2, bool bOrdinalIgnoreCase) |
| static bool | EqualPath (const wchar_t *path1, const wchar_t *path2) |
| static bool | EqualPath (const wchar_t *path1, int element_count1, const wchar_t *path2, int element_count2) |
| static int ON_VARGS_FUNC_CDECL | FormatIntoBuffer (wchar_t *buffer, size_t buffer_capacity, const wchar_t *format,...) |
| static int ON_VARGS_FUNC_CDECL | FormatIntoBuffer (ON_wStringBuffer &buffer, const wchar_t *format,...) |
| static const ON_wString ON_VARGS_FUNC_CDECL | FormatToString (const wchar_t *format,...) |
| static int | FormatVargsIntoBuffer (ON_wStringBuffer &buffer, const wchar_t *format, va_list args) |
| static int | FormatVargsIntoBuffer (wchar_t *buffer, size_t buffer_capacity, const wchar_t *format, va_list args) |
| static int | FormatVargsOutputCount (const wchar_t *format, va_list args) |
| static const ON_wString | FromNumber (char n) |
| static const ON_wString | FromNumber (unsigned char n) |
| static const ON_wString | FromNumber (short n) |
| static const ON_wString | FromNumber (unsigned short n) |
| static const ON_wString | FromNumber (int n) |
| static const ON_wString | FromNumber (unsigned int n) |
| static const ON_wString | FromNumber (ON__INT64 n) |
| static const ON_wString | FromNumber (ON__UINT64 n) |
| static const ON_wString | FromNumber (double d) |
| static const ON_wString | FromUnicodeCodePoints (const ON__UINT32 *code_points, int code_point_count, ON__UINT32 error_code_point) |
| static const ON_wString | HexadecimalFromBytes (const ON__UINT8 *bytes, size_t byte_count, bool bCapitalDigits, bool bReverse) |
| static int | Length (const wchar_t *string) |
| static wchar_t | MapCharacterOrdinal (ON_StringMapOrdinalType map_type, wchar_t c) |
| static ON_wString | MapString (const class ON_Locale &locale, ON_StringMapType map_type, const wchar_t *string, int element_count) |
| static int | MapString (const class ON_Locale &locale, ON_StringMapType map_type, const wchar_t *string, int element_count, wchar_t *mapped_string, int mapped_string_capacity) |
| static int | MapStringOrdinal (ON_StringMapOrdinalType map_type, const wchar_t *string, int element_count, wchar_t *mapped_string, int mapped_string_capacity) |
| static const ON_wString | PreciseFromNumber (double d) |
| static wchar_t * | Reverse (wchar_t *string, int element_count) |
| static int ON_VARGS_FUNC_CDECL | ScanBuffer (const wchar_t *buffer, const wchar_t *format,...) |
| static int | ScanBufferVargs (const wchar_t *buffer, const wchar_t *format, va_list args) |
| static void | SplitPath (const char *path, ON_wString *drive, ON_wString *dir, ON_wString *fname, ON_wString *ext) |
| static void | SplitPath (const wchar_t *path, ON_wString *drive, ON_wString *dir, ON_wString *fname, ON_wString *ext) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, char value_on_failure, char *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, unsigned char value_on_failure, unsigned char *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, short value_on_failure, short *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, unsigned short value_on_failure, unsigned short *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, int value_on_failure, int *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, unsigned int value_on_failure, unsigned int *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, ON__INT64 value_on_failure, ON__INT64 *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, ON__UINT64 value_on_failure, ON__UINT64 *value) |
| static const wchar_t * | ToNumber (const wchar_t *buffer, double value_on_failure, double *value) |
| static unsigned int | UnsignedLength (const wchar_t *string) |
Static Public Attributes | |
| static const wchar_t | Backslash |
| Unicode REVERSE SOLIDUS U+005C. More... | |
| static const wchar_t | Backspace |
| Unicode BACKSPACE control U+0008. More... | |
| static const wchar_t | CarriageReturn |
| Unicode CARRIAGE RETURN control U+000D. More... | |
| static const ON_wString | EmptyString |
| static const wchar_t | Escape |
| Unicode CARRIAGE RETURN control U+001B. More... | |
| static const wchar_t | FormFeed |
| Unicode FORM FEED control U+000C. More... | |
| static const wchar_t | LineFeed |
| Unicode LINE FEED control U+000A. More... | |
| static const wchar_t | Pipe |
| Unicode VERTICAL LINE U+007C. More... | |
| static const wchar_t | Slash |
| Unicode SOLIDUS U+002F. More... | |
| static const wchar_t | Space |
| Unicode SPACE U+0020. More... | |
| static const wchar_t | Tab |
| Unicode CHARACTER TABULATION control U+0009. More... | |
| static const wchar_t | VerticalTab |
| Unicode LINE TABULATION control U+000B. More... | |
Protected Member Functions | |
| void | AppendToArray (const ON_wString &) |
| void | AppendToArray (int, const char *) |
| void | AppendToArray (int, const unsigned char *) |
| void | AppendToArray (int, const wchar_t *) |
| void | CopyArray () |
| void | CopyToArray (const ON_wString &) |
| void | CopyToArray (int, const char *) |
| void | CopyToArray (int, const unsigned char *) |
| void | CopyToArray (int, const wchar_t *) |
| wchar_t * | CreateArray (int) |
| struct ON_wStringHeader * | Header () const |
| m_s - 12 bytes points at the string's ON_wStringHeader More... | |
Protected Attributes | |
| wchar_t * | m_s |
| Implementation. More... | |
| ON_wString::ON_wString | ( | ) |
Constructors.
| ON_wString::ON_wString | ( | const ON_wString & | ) |
| ON_wString::ON_wString | ( | const ON_String & | src | ) |
src = UTF-8 string
| ON_wString::ON_wString | ( | const char * | src | ) |
src = nul; terminated UTF-8 string
| ON_wString::ON_wString | ( | const char * | src, |
| int | |||
| ) |
from UTF-8 substring
| ON_wString::ON_wString | ( | char | , |
| int | = 1 |
||
| ) |
| ON_wString::ON_wString | ( | const unsigned char * | src | ) |
src = nul; terminated UTF-8 string
| ON_wString::ON_wString | ( | const unsigned char * | src, |
| int | |||
| ) |
from UTF-8 substring
| ON_wString::ON_wString | ( | unsigned | char, |
| int | = 1 |
||
| ) |
| ON_wString::ON_wString | ( | const wchar_t * | ) |
| ON_wString::ON_wString | ( | const wchar_t * | , |
| int | |||
| ) |
from substring
| ON_wString::ON_wString | ( | wchar_t | , |
| int | = 1 |
||
| ) |
| ON_wString::~ON_wString | ( | ) |
| void ON_wString::Append | ( | const char * | sUTF8, |
| int | |||
| ) |
string concatenation
append specified number of elements from a UTF-8 string
| void ON_wString::Append | ( | const unsigned char * | sUTF8, |
| int | |||
| ) |
append specified number of elements from a UTF-8 string
| void ON_wString::Append | ( | const wchar_t * | , |
| int | |||
| ) |
append specified number of elements
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
| d | "%f" when possible, otherwise "%g" |
| wchar_t* ON_wString::Array | ( | ) |
| const wchar_t* ON_wString::Array | ( | ) | const |
| int ON_wString::Compare | ( | const wchar_t * | ) | const |
ON_DEPRECATED ///< deprecation in progress.
Use CompareOrdinal(), ComparePath(), CompareAttributeName(), or a test that is linguistically apprropriate
| int ON_wString::Compare | ( | const ON_wString & | other_string, |
| const class ON_Locale & | locale, | ||
| bool | bIgnoreCase | ||
| ) | const |
Description: Compare this string and other_string by normalizing (NFC) and using invariant culture ordering. Parameters: other_string - [in] bIgnoreCase - [in] Remarks: 1) Ordinal compares are the fastest. 2) Equal(...) is faster than Compare(...)
| int ON_wString::Compare | ( | const wchar_t * | other_string, |
| const class ON_Locale & | locale, | ||
| bool | bIgnoreCase | ||
| ) | const |
|
static |
Description: Compare string1 and string2 by normalizing (NFC) and using invariant culture ordering. Parameters: string1 - [in] string2 - [in] bIgnoreCase - [in] Remarks: 1) Ordinal compares are the fastest. 2) Equal(...) is faster than Compare(...)
|
static |
Description: Compare string1 and string2 by normalizing (NFC) and using invariant culture ordering. Parameters: string1 - [in] element_count1 - [in] The number of string1[] elements to compare. If element_count1 < 0, then string1 must be null terminated. string2 - [in] element_count2 - [in] The number of string2[] elements to compare. If element_count2 < 0, then string2 must be null terminated. locale - [in] Typically ON_Locale::Ordinal, ON_Locale::InvariantCulture, or ON_Locale::CurrentCulture. bIgnoreCase - [in] Remarks: 1) Ordinal compares are the fastest. 2) Equal(...) is faster than Compare(...)
| int ON_wString::CompareAttributeName | ( | const wchar_t * | other_name | ) | const |
Description: Compare this string and other_name as a name attribute of an object like ON_3dmObjectAttributes.m_name, ON_Layer.m_name, and so on. These comparisons ignore case and use appropriate string normalization. Parameters: other_name - [in] null terminated string
|
static |
Description: Compare this string and other_name as a name attribute of an object like ON_3dmObjectAttributes.m_name, ON_Layer.m_name, and so on. These comparisons ignore case and use appropriate string normalization. Parameters: name1 - [in] null terminated string name2 - [in] null terminated string
| int ON_wString::CompareNoCase | ( | const wchar_t * | ) | const |
ON_DEPRECATED ///< deprecation in progress.
Use CompareOrdinal(), ComparePath(), CompareAttributeName(), or a test that is linguistically apprropriate
| int ON_wString::CompareOrdinal | ( | const ON_wString & | other_string, |
| bool | bOrdinalIgnoreCase | ||
| ) | const |
Description: Compare this string and other_string wchar_t element by wchar_t element. Parameters: other_string - [in] bOrdinalIgnoreCase - [in] Remarks: 1) If the string is UTF-8 encoded and bOrdinalIgnoreCase is true, only small latin a - z and capital latin A - Z are considered equal. It is imposible to ignore case for any other values in an ordinal compare.
2) If you are comparing file system paths, you should use ComparePath().
3) If locale, linguistic issues, UTF-8 encoding issues or unicode normalization or collation issues need to be considered, then CompareOrdinal() is the wrong function to use.
| int ON_wString::CompareOrdinal | ( | const wchar_t * | other_string, |
| bool | bOrdinalIgnoreCase | ||
| ) | const |
|
static |
Description: Compare this string1 and string2 wchar_t element by wchar_t element. Parameters: string1 - [in] string2 - [in] bOrdinalIgnoreCase - [in] If true, elements with values a-z are compared as if they had values A-Z. Remarks: 1) If the string is UTF-8 encoded and bOrdinalIgnoreCase is true, only small latin a - z and capital latin A - Z are considered equal. It is imposible to ignore case for any other values in an ordinal compare.
2) If you are comparing file system paths, you should use ComparePath().
3) If locale, linguistic issues, UTF-8 encoding issues or unicode normalization or collation issues need to be considered, then CompareOrdinal() is the wrong function to use.
|
static |
Description: Compare this string1 and string2 wchar_t element by wchar_t element. Parameters: string1 - [in] maximum_element_count1 - [in] maximum number of elements to compare string2 - [in] maximum_element_count2 - [in] maximum number of elements to compare bOrdinalIgnoreCase - [in] If true, elements with values a-z are compared as if they had values A-Z. Remarks: 1) If the string is UTF-8 encoded and bOrdinalIgnoreCase is true, only small latin a - z and capital latin A - Z are considered equal. It is imposible to ignore case for any other values in an ordinal compare.
2) If you are comparing file system paths, you should use ComparePath().
3) If locale, linguistic issues, UTF-8 encoding issues or unicode normalization or collation issues need to be considered, then CompareOrdinal() is the wrong function to use.
| int ON_wString::ComparePath | ( | const wchar_t * | other_path | ) | const |
Description: Compare this string and other_path as file system paths using appropriate tests for the current operating system. Parameters: other_path - [in] null terminated string Remarks: 1) Windows and UNIX directory separators (/ and ) are considered equal.
2) Case is ignored when the file system is not case sensitive, like Windows.
3) String normalization appropriate for the current operating system is performed.
|
static |
Description: Compare sPath1 and sPath2 as file system paths using appropriate tests for the current operating system. Parameters: path1 - [in] null terminated string path2 - [in] null terminated string Remarks: 1) Windows and UNIX directory separators (/ and ) are considered equal.
2) Case is ignored when the file system is not case sensitive, like Windows.
3) String normalization appropriate for the current operating system is performed.
|
static |
Description: Compare sPath1 and sPath2 as file system paths using appropriate tests for the current operating system. Parameters: path1 - [in] maximum_element_count1 - [in] path2 - [in] maximum_element_count2 - [in] Remarks: 1) Windows and UNIX directory separators (/ and ) are considered equal.
2) Case is ignored when the file system is not case sensitive, like Windows.
3) String normalization appropriate for the current operating system is performed.
| const ON_SHA1_Hash ON_wString::ContentHash | ( | ON_StringMapOrdinalType | mapping | ) | const |
Returns: A platform independed SHA-1 of the string content. Independent of platform endian or platform wide string UTF encoding.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| void ON_wString::Create | ( | ) |
|
protected |
| ON__UINT32 ON_wString::DataCRC | ( | ON__UINT32 | current_remainder | ) | const |
Returns: CRC of the string.
| ON__UINT32 ON_wString::DataCRCLower | ( | ON__UINT32 | current_remainder | ) | const |
Returns: CRC of the lower case version of the string. Useful for case insensitive CRCs and hash codes.
| void ON_wString::Destroy | ( | ) |
releases any memory and initializes to default empty string
| void ON_wString::EmergencyDestroy | ( | ) |
| void ON_wString::Empty | ( | ) |
sets length to zero - if possible, memory is retained
| void ON_wString::EnableReferenceCounting | ( | bool | bEnable | ) |
Description: Enables reference counting. I limited cases, this is useful for large strings or strings that are frequently passed around. Reference counted strings must be carefully managed in when multi-threading is used. Parameters: If EnableReferenceCounting() is not called, then the string will not be referanceThe default is to not use reference counted strings.
| bool ON_wString::Equal | ( | const ON_wString & | other_string, |
| const class ON_Locale & | locale, | ||
| bool | bIgnoreCase | ||
| ) | const |
| bool ON_wString::Equal | ( | const wchar_t * | other_string, |
| const class ON_Locale & | locale, | ||
| bool | bIgnoreCase | ||
| ) | const |
|
static |
|
static |
Description: Determine if string 1 and string2 are equal. Parameters: string1 - [in] element_count1 - [in] The number of string1[] elements to test. If element_count1 < 0, then string1 must nullptr or be null terminated. string2 - [in] element_count2 - [in] The number of string2[] elements to test. If element_count1 < 0, then string2 must nullptr or be null terminated. locale - [in] Typically ON_Locale::Ordinal, ON_Locale::InvariantCulture, or ON_Locale::CurrentCulture. bIgnoreCase - [in] Remarks: 1) Ordinal compares are the fastest. 2) Equal(...) is faster than Compare(...)
| bool ON_wString::EqualAttributeName | ( | const wchar_t * | other_name | ) | const |
|
static |
| bool ON_wString::EqualOrdinal | ( | const ON_wString & | other_string, |
| bool | bOrdinalIgnoreCase | ||
| ) | const |
| bool ON_wString::EqualOrdinal | ( | const wchar_t * | other_string, |
| bool | bOrdinalIgnoreCase | ||
| ) | const |
|
static |
|
static |
| bool ON_wString::EqualPath | ( | const wchar_t * | other_path | ) | const |
|
static |
|
static |
| int ON_wString::Find | ( | char | utf8_single_byte_c | ) | const |
Description: Find the first occurrence of a character or substring. Parameters: utf8_single_byte_c - [in] utf8_single_byte_c must have a value between 0 and 0x7F. w - [in] When w is a 2 byte UTF-16 wchar_t value (like Microsoft's wchar_t), it must be in the range 0 to 0xD7FF or 0xE000 to 0xFFFF. When w is a 4 byte UTF-32 wchar_t value (like Apple's wchar_t), it must be in the range 0 to 0xD7FF or 0xE000 to 0x10FFFF. sTUF8 - [in] A null terminated UTF-8 string. wcharString - [in] A null terminated wchar_t string. start_index - [in] Index where search should begin. Returns: -1: invalid input or character is not in the string. >=0: Index of the first instance of the character.
| int ON_wString::Find | ( | unsigned char | utf8_single_byte_c | ) | const |
| int ON_wString::Find | ( | wchar_t | w | ) | const |
| int ON_wString::Find | ( | const char * | sUTF8 | ) | const |
| int ON_wString::Find | ( | const unsigned char * | sUTF8 | ) | const |
| int ON_wString::Find | ( | const wchar_t * | wcharString | ) | const |
| int ON_wString::Find | ( | char | utf8_single_byte_c, |
| size_t | start_index | ||
| ) | const |
| int ON_wString::Find | ( | unsigned char | utf8_single_byte_c, |
| size_t | start_index | ||
| ) | const |
| int ON_wString::Find | ( | wchar_t | w, |
| size_t | start_index | ||
| ) | const |
| int ON_wString::Find | ( | wchar_t | w, |
| int | start_index | ||
| ) | const |
| int ON_wString::Find | ( | const char * | sUTF8, |
| size_t | start_index | ||
| ) | const |
| int ON_wString::Find | ( | const unsigned char * | sUTF8, |
| size_t | start_index | ||
| ) | const |
| int ON_wString::Find | ( | const wchar_t * | wcharString, |
| size_t | start_index | ||
| ) | const |
| int ON_wString::Find | ( | const wchar_t * | wcharString, |
| int | start_index | ||
| ) | const |
| int ON_wString::FindOneOf | ( | const wchar_t * | character_set | ) | const |
| bool ON_VARGS_FUNC_CDECL ON_wString::Format | ( | const wchar_t * | format, |
| ... | |||
| ) |
Parameters: format - [in] Format control. Positional paramters of the form N$x where N >= 1 and x is the standard format specification are supported. Avoid using S (capital S). See the Remarks for details. ... - [in] arguments for replacable items in the format string. Returns: True if successful. False if the string is too long or the format string is not valid. Remarks: When using Microsoft's compiler and other compilers that provide similar locale support, the locale is the invariant culture locale returned by ON_Locale::InvariantCulture::LocalePtr().
The way Windows handles the S (capital S) format parameter depends on locale and code page settings. It is strongly reccommended that you never use S to include any string that may possibly contain elements with values > 127. The following examples illustrate a way to predictably use UTF-8 and wchar_t parameters in buffers of the other element type.
const char* utf8_string = ...; / UNRELIABLE ///< ON_wString::Format(buffer,buffer_capacity,"%S",utf8_string); / The code below will treat utf8_string as a UTF-8 encoded string. wchar_t wchar_buffer[...]; const size_t wchar_buffer_capacity= sizeof(buffer)/sizeof(buffer[0]); ON_wString::Format(wchar_buffer, wchar_buffer_capacity, "%s", ON_wString(utf8_string));
const wchar_t* wide_string = ...; / UNRELIABLE ///< ON_wString::Format(buffer,buffer_capacity,"%S",char_string); / The code below will include wide_string as a UTF-8 encoded string. char char_buffer[...]; const size_t char_buffer_capacity = sizeof(buffer)/sizeof(buffer[0]); ON_String::Format(char_buffer, char_buffer_capacity, "%s", ON_String(wide_string));
|
static |
Description: A platform independent, secure, culture invariant way to format a wchar_t string with support for positional format parameters. This function is provide to be used when it is critical that the formatting be platform independent, secure and culture invarient. Parameters: buffer - [out] not null buffer_capacity - [in] > 0 Number of wchar_t elements in buffer. format - [in] Avoid using S (capital S). See the Remarks for details. ... - [in] Returns: >= 0: The number of wchar_t elements written to buffer[], not including the null terminator. A null terminator is always added (buffer[returned value] = 0). The last element of buffer[] is always set to zero (buffer[buffer_capacity-1] = 0). < 0: failure: If buffer is not null and buffer_capacity > 0, then buffer[0] = 0 and buffer[buffer_capacity-1] = 0; Remarks: The way Windows handles the S (capital S) format parameter depends on locale and code page settings. It is strongly reccommended that you never use S to include any string that may possibly contain elements with values > 127. The following examples illustrate a way to predictably use UTF-8 and wchar_t parameters in buffers of the other element type.
const char* utf8_string = ...;
/ UNRELIABLE ///< ON_wString::Format(buffer,buffer_capacity,"%S",utf8_string); wchar_t wchar_buffer[...]; const size_t wchar_buffer_capacity= sizeof(buffer)/sizeof(buffer[0]); ON_wString::Format(wchar_buffer, wchar_buffer_capacity, "%s", ON_wString(utf8_string));
const wchar_t* wide_string = ...; / UNRELIABLE ///< ON_wString::Format(buffer,buffer_capacity,"%S",char_string); char char_buffer[...]; const size_t char_buffer_capacity = sizeof(buffer)/sizeof(buffer[0]); ON_String::Format(char_buffer, char_buffer_capacity, "%s", ON_String(wide_string));
|
static |
|
static |
| bool ON_wString::FormatVargs | ( | const wchar_t * | format, |
| va_list | args | ||
| ) |
|
static |
|
static |
|
static |
Returns: >= 0: Number of char elements in the formatted string, not including the null terminator. < 0: Invalid input
|
static |
It is common to format single numbers into strings and the FromNumber and FromDouble functions are the fastest way to do this and provide consistent results. They return a pointer to their buffer so the can be used as function parameters.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| d | "%g" format |
|
static |
Description: Convert a list of Unicode code points into a wide string. Parameters: code_points - [in] array of Unicode code points code_point_count - [in] number of code points. -1 indicates code_points[] is terminated by a 0 value. error_code_point - [in] If error_code_point is a valid Unicode code point, then error_code_point will be used in place of invalid values in code_points[]. Otherwise, conversion will terminate if code_points[] contains an invalid value. The values ON_UnicodeCodePoint::ON_ReplacementCharacter and ON_UnicodeCodePoint::ON_InvalidCodePoint are commonly used for this parameter. Returns: A wide string encoding of the Unicode code points. Remarks: If more control over the conversion process is required, then use ON_ConvertUTF32ToWideChar().
| wchar_t ON_wString::GetAt | ( | int | ) | const |
|
protected |
m_s - 12 bytes points at the string's ON_wStringHeader
implementation helpers
|
static |
Description: Each byte value is converted to 2 hexadecimal digits. Parameters: bytes - [in] list of byte values byte_count - [in] Number of byte values in bytes[] array. bCapitalDigits - [in] false: Use 0-9, a - b true: Use 0-9, A - F bReverse - [in] false: The digist in the string will be in the order bytes[0], bytes[1], ..., bytes[byte_count-1]. true: The digist in the string will be in the order bytes[byte_count-1], ..., bytes[1], bytes[0].
| bool ON_wString::IsEmpty | ( | ) | const |
| bool ON_wString::IsNotEmpty | ( | ) | const |
returns true if length > 0
| bool ON_wString::IsReferenceCounted | ( | ) | const |
Returns: True if the string is reference counted.
| ON_wString ON_wString::Left | ( | int | ) | const |
| int ON_wString::Length | ( | ) | const |
Attributes & Operations.
Returns: number of nonzero elements in string.
|
static |
Returns: number of nonzero elements in string before the first null terminator. If string is nullptr, 0 is returned.
| void ON_wString::MakeLower | ( | ) |
ON_DEPRECATED
| void ON_wString::MakeLowerOrdinal | ( | ) |
| void ON_wString::MakeReverse | ( | ) |
| void ON_wString::MakeUpper | ( | ) |
upper/lower/reverse conversion
ON_DEPRECATED
| void ON_wString::MakeUpperOrdinal | ( | ) |
|
static |
Description: Map a single wchar_t element to upper or lower case. Parameters: c - [in] If sizeof(wchar_t) >= 2 and c is not a value used int surrogate pairs, the map specified by map_type is applied. If c is a value used in surrogate pairs, the value is not changed. Remarks: 1) MapCharacterOrdinal is not appropriate for general string mapping because it does not correctly handle surrogate pairs. 2) If sizeof(wchar_t) == sizeof(char), ON_String::MapCharacterOrdinal() and ON_wString::MapCharacterOrdinal() are identical.
| ON_wString ON_wString::MapString | ( | const class ON_Locale & | locale, |
| ON_StringMapType | map_type | ||
| ) | const |
|
static |
|
static |
Description: Maps element_count elements of string[] to mapped_string[]. Parameters: locale - [in] Locale to use when converting case. It is common to pass one of the preset locales ON_Locale::Ordinal, ON_Locale::InvariantCulture, or ON_Locale::m_CurrentCulture.
map_type - [in] selects the mapping
string - [in] input string to map.
element_count - [in] The number of wchar_t elements to map from input string[].
If element_count < 1, then string[] must be null terminated and ON_wString::Length(string)+1 elements are mapped. The +1 insures the output is null terminated.
mapped_string - [out] The result of the mapping is returned in mapped_string[].
mapped_string_capacity - [in] Number of wchar_t elements available in mapped_string[] or 0 to calculate the minimum number of elements needed for the mapping.
Returns: If mapped_string_capacity > 0, then the number elements set in mapped_string[] is returned.
If mapped_string_capacity == 0, then the number elements required to perform the mapping is returned.
When there is room, mapped_string[] is null terminated.
0: Failure.
| ON_wString ON_wString::MapStringOrdinal | ( | ON_StringMapOrdinalType | map_type | ) | const |
|
static |
Description: Map a wchar_t string. Parameters: map_type - [in] string - [in] element_count - [in] number of string[] elements to map. If element_count < 0, then ON_wString::Length(string) elements are mapped. mapped_string - [out] mapped_string_capacity - [in] number of available elements in mapped_string[]. mapped_string_capacity must be >= mapped_element_count where mapped_element_count = (element_count >= 0) element_count ? ON_wString::Length(string). map_type - [in] Returns: Number of mapped_string[] elements that were mapped from string[].
When the return value is < mapped_string_capacity, a null terminator is appended after the last mapped element.
| ON_wString ON_wString::Mid | ( | int | , |
| int | |||
| ) | const |
simple sub-string extraction
| ON_wString ON_wString::Mid | ( | int | ) | const |
| ON_wString::operator const wchar_t * | ( | ) | const |
| ON_wString ON_wString::operator+ | ( | const ON_wString & | ) | const |
| ON_wString ON_wString::operator+ | ( | const ON_String & | sUTF8 | ) | const |
concatinate with a UTF-8 string
| ON_wString ON_wString::operator+ | ( | char | ) | const |
| ON_wString ON_wString::operator+ | ( | unsigned | char | ) | const |
| ON_wString ON_wString::operator+ | ( | wchar_t | ) | const |
| ON_wString ON_wString::operator+ | ( | const char * | sUTF8 | ) | const |
concatinate with a UTF-8 string
| ON_wString ON_wString::operator+ | ( | const unsigned char * | sUTF8 | ) | const |
concatinate with a UTF-8 string
| ON_wString ON_wString::operator+ | ( | const wchar_t * | ) | const |
| const ON_wString& ON_wString::operator+= | ( | const ON_wString & | ) |
| const ON_wString& ON_wString::operator+= | ( | const ON_String & | sUTF8 | ) |
append UTF-8 string
| const ON_wString& ON_wString::operator+= | ( | char | ) |
| const ON_wString& ON_wString::operator+= | ( | unsigned | char | ) |
| const ON_wString& ON_wString::operator+= | ( | wchar_t | ) |
| const ON_wString& ON_wString::operator+= | ( | const char * | sUTF8 | ) |
append UTF-8 string
| const ON_wString& ON_wString::operator+= | ( | const unsigned char * | sUTF8 | ) |
append UTF-8 string
| const ON_wString& ON_wString::operator+= | ( | const wchar_t * | ) |
| const ON_wString& ON_wString::operator= | ( | const ON_wString & | ) |
overloaded assignment
| const ON_wString& ON_wString::operator= | ( | const ON_String & | src | ) |
src = UTF-8 string
| const ON_wString& ON_wString::operator= | ( | char | ) |
| const ON_wString& ON_wString::operator= | ( | const char * | src | ) |
src = UTF-8 string
| const ON_wString& ON_wString::operator= | ( | unsigned | char | ) |
| const ON_wString& ON_wString::operator= | ( | const unsigned char * | src | ) |
src = UTF-8 string
| const ON_wString& ON_wString::operator= | ( | wchar_t | ) |
| const ON_wString& ON_wString::operator= | ( | const wchar_t * | ) |
| wchar_t& ON_wString::operator[] | ( | int | ) |
| wchar_t ON_wString::operator[] | ( | int | ) | const |
|
static |
| d | "%.17g" |
| int ON_wString::Remove | ( | char | utf8_single_byte_c | ) |
Description: Remove all occurrences of the input character. Parameters: c - [in] utf8_single_byte_ct must have a value between 0 and 0x7F. When w is a 2 byte UTF-16 wchar_t value (like Microsoft's wchar_t), it must be in the range 0 to 0xD7FF or 0xE000 to 0xFFFF. When w is a 4 byte UTF-32 wchar_t value (like Apple's wchar_t), it must be in the range 0 to 0xD7FF or 0xE000 to 0x10FFFF. Returns: Number of characters removed.
| int ON_wString::Remove | ( | unsigned char | utf8_single_byte_c | ) |
| int ON_wString::Remove | ( | wchar_t | w | ) |
| const ON_wString ON_wString::RemovePrefix | ( | const wchar_t * | prefix, |
| const class ON_Locale & | locale, | ||
| bool | bIgnoreCase | ||
| ) | const |
Parameters: prefix - [in] locale - [in] When no local is available, pass ON_Locale::Ordinal. bIgnoreCase - [in] true to ignore case. Returns: If the string begins with prefix, the returned string has prefix removed. Otherwise the returned string is identical to the string.
| const ON_wString ON_wString::RemoveSuffix | ( | const wchar_t * | suffix, |
| const class ON_Locale & | locale, | ||
| bool | bIgnoreCase | ||
| ) | const |
Parameters: suffix - [in] locale - [in] When no local is available, pass ON_Locale::Ordinal. bIgnoreCase - [in] true to ignore case. Returns: If the string ends with suffix, the returned string has suffix removed. Otherwise the returned string is identical to the string.
| int ON_wString::RemoveWhiteSpace | ( | const wchar_t * | whitespace = 0 | ) |
Description: Removes all white-space characters with the token. Parameters: whitespace - [in] if not null, this is a 0 terminated string that lists the characters considered to be white space. If null, then (1,2,...,32,127) is used. Returns: Number of whitespace characters removed. See Also: ON_wString::ReplaceWhiteSpace
| int ON_wString::Replace | ( | const wchar_t * | token1, |
| const wchar_t * | token2 | ||
| ) |
Description: Replace all substrings that match token1 with token2 Parameters: token1 - [in] token2 - [in] Returns: Number of times toke1 was replaced with token2
| int ON_wString::Replace | ( | wchar_t | token1, |
| wchar_t | token2 | ||
| ) |
| int ON_wString::ReplaceWhiteSpace | ( | wchar_t | token, |
| const wchar_t * | whitespace = 0 |
||
| ) |
Description: Replace all white-space characters with the token. If token is zero, the string will end up with internal 0's Parameters: token - [in] whitespace - [in] if not null, this is a 0 terminated string that lists the characters considered to be white space. If null, then (1,2,...,32,127) is used. Returns: Number of whitespace characters replaced. See Also: ON_wString::RemoveWhiteSpace
| wchar_t* ON_wString::ReserveArray | ( | size_t | ) |
Low level access to string contents as character array.
make sure internal array has at least
| ON_wString ON_wString::Reverse | ( | ) | const |
|
static |
| int ON_wString::ReverseFind | ( | char | utf8_single_byte_c | ) | const |
Description: Find the last occurrence of a character or substring. Parameters: utf8_single_byte_c - [in] utf8_single_byte_c must have a value between 0 and 0x7F. w - [in] When w is a 2 byte UTF-16 wchar_t value (like Microsoft's wchar_t), it must be in the range 0 to 0xD7FF or 0xE000 to 0xFFFF. When w is a 4 byte UTF-32 wchar_t value (like Apple's wchar_t), it must be in the range 0 to 0xD7FF or 0xE000 to 0x10FFFF. sUTF8 - [in] wideString - [in] Returns: -1: Invalid input or character or substring was not found. >=0: Index of the final occurrence of the character or substring.
| int ON_wString::ReverseFind | ( | unsigned char | utf8_single_byte_c | ) | const |
| int ON_wString::ReverseFind | ( | wchar_t | w | ) | const |
| int ON_wString::ReverseFind | ( | const char * | sUTF8 | ) | const |
| int ON_wString::ReverseFind | ( | const wchar_t * | wideString | ) | const |
| ON_wString ON_wString::Right | ( | int | ) | const |
| int ON_VARGS_FUNC_CDECL ON_wString::Scan | ( | const wchar_t * | format, |
| ... | |||
| ) | const |
Parameters: format - [in] null terminated string to scan ... - [out] pointers to elements to assign. Returns: >= 0: number of fields successfully converted and assigned. <0: failure
|
static |
|
static |
| void ON_wString::SetAt | ( | int | , |
| char | |||
| ) |
| void ON_wString::SetAt | ( | int | , |
| unsigned | char | ||
| ) |
| void ON_wString::SetAt | ( | int | , |
| wchar_t | |||
| ) |
| wchar_t* ON_wString::SetLength | ( | size_t | ) |
set length (<=capacity)
| void ON_wString::ShrinkArray | ( | ) |
the requested capacity.
shrink internal storage to minimum size
| unsigned int ON_wString::SizeOf | ( | ) | const |
Returns: Total number of bytes of memory used by this class. (For use in ON_Object::SizeOf() overrides.
|
static |
OBSOLETE - Use ON_FileSystemPath::SplitPath
|
static |
| const ON_wString ON_wString::SubString | ( | int | start_index | ) | const |
| const ON_wString ON_wString::SubString | ( | int | start_index, |
| int | count | ||
| ) | const |
|
static |
Returns: not zero: pointer to the first character that was not scanned nullptr: failure
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| void ON_wString::TrimLeft | ( | const wchar_t * | s = nullptr | ) |
Description: Removes leading elements from the string. Parameters: s - [in] All leading wchar_t elements with a value that it found in s[] are removed. If s is nullptr, All leading wchar_t element with a value between 1 and space are removed.
| void ON_wString::TrimLeftAndRight | ( | const wchar_t * | s = nullptr | ) |
| void ON_wString::TrimRight | ( | const wchar_t * | s = nullptr | ) |
Description: Removes trailing elements from the string. Parameters: s - [in] All trailing wchar_t elements with a value that it found in s[] are removed. If s is nullptr, All trailing wchar_t elements with a value between 1 and space are removed.
| unsigned int ON_wString::UnsignedLength | ( | ) | const |
Returns: number of nonzero elements in the string.
|
static |
Returns: number of nonzero elements in string before the first null terminator. If string is nullptr, 0 is returned.
| bool ON_wString::UrlDecode | ( | ) |
Description: Replaces all xx where xx a two digit hexadecimal number, with a single character. Returns false if the orginal string contained
| void ON_wString::UrlEncode | ( | ) |
Description: Replaces all characters in the string whose values are not '0-9', 'A-Z', or 'a-z' with a percent sign followed by a 2 digit hex value.
| bool ON_wString::WildCardMatch | ( | const wchar_t * | ) | const |
Description: Simple case sensitive wildcard matching. A question mark (?) in the pattern matches a single character. An asterisk (*) in the pattern mathes zero or more occurances of any character.
Parameters: pattern - [in] pattern string where ? and * are wild cards.
Returns: true if the string mathes the wild card pattern.
| bool ON_wString::WildCardMatchNoCase | ( | const wchar_t * | ) | const |
Description: Simple case insensitive wildcard matching. A question mark (?) in the pattern matches a single character. An asterisk (*) in the pattern mathes zero or more occurances of any character.
Parameters: pattern - [in] pattern string where ? and * are wild cards.
Returns: true if the string mathes the wild card pattern.
|
static |
Unicode REVERSE SOLIDUS U+005C.
|
static |
Unicode BACKSPACE control U+0008.
|
static |
Unicode CARRIAGE RETURN control U+000D.
|
static |
ON_String::EmptyString has length 0. const char* s = ON_String::EmptyString sets s to L"".
|
static |
Unicode CARRIAGE RETURN control U+001B.
|
static |
Unicode FORM FEED control U+000C.
|
static |
Unicode LINE FEED control U+000A.
|
protected |
Implementation.
pointer to ref counted string array
|
static |
Unicode VERTICAL LINE U+007C.
|
static |
Unicode SOLIDUS U+002F.
|
static |
Unicode SPACE U+0020.
|
static |
Unicode CHARACTER TABULATION control U+0009.
|
static |
Unicode LINE TABULATION control U+000B.
1.8.13