Open CASCADE Technology  7.2.0
Public Member Functions

NCollection_UtfString< Type > Class Template Reference

This template class represent constant UTF-* string. String stored in memory continuously, always NULL-terminated and can be used as standard C-string using ToCString() method. More...

#include <NCollection_UtfString.hxx>

Public Member Functions

NCollection_UtfIterator< Type > Iterator () const
 
Standard_Integer Size () const
 
Standard_Integer Length () const
 
Standard_Utf32Char GetChar (const Standard_Integer theCharIndex) const
 Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. More...
 
const Type * GetCharBuffer (const Standard_Integer theCharIndex) const
 Retrieve string buffer at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. More...
 
Standard_Utf32Char operator[] (const Standard_Integer theCharIndex) const
 Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing. More...
 
 NCollection_UtfString ()
 Initialize empty string. More...
 
 NCollection_UtfString (const NCollection_UtfString &theCopy)
 Copy constructor. More...
 
 NCollection_UtfString (const char *theCopyUtf8, const Standard_Integer theLength=-1)
 Copy constructor from NULL-terminated UTF-8 string. More...
 
 NCollection_UtfString (const Standard_Utf16Char *theCopyUtf16, const Standard_Integer theLength=-1)
 Copy constructor from NULL-terminated UTF-16 string. More...
 
 NCollection_UtfString (const Standard_Utf32Char *theCopyUtf32, const Standard_Integer theLength=-1)
 Copy constructor from NULL-terminated UTF-32 string. More...
 
 NCollection_UtfString (const Standard_WideChar *theCopyUtfWide, const Standard_Integer theLength=-1)
 Copy constructor from NULL-terminated wide UTF string. More...
 
template<typename TypeFrom >
void FromUnicode (const TypeFrom *theStringUtf, const Standard_Integer theLength=-1)
 Copy from NULL-terminated Unicode string. More...
 
void FromLocale (const char *theString, const Standard_Integer theLength=-1)
 Copy from NULL-terminated multibyte string in system locale. You should avoid this function unless extreme necessity. More...
 
 ~NCollection_UtfString ()
 Destructor. More...
 
bool IsEqual (const NCollection_UtfString &theCompare) const
 Compares this string with another one. More...
 
NCollection_UtfString SubString (const Standard_Integer theStart, const Standard_Integer theEnd) const
 Returns the substring. More...
 
const Type * ToCString () const
 Returns NULL-terminated Unicode string. Should not be modifed or deleted! More...
 
const NCollection_UtfString< Standard_Utf8CharToUtf8 () const
 
const NCollection_UtfString< Standard_Utf16CharToUtf16 () const
 
const NCollection_UtfString< Standard_Utf32CharToUtf32 () const
 
const NCollection_UtfString< Standard_WideCharToUtfWide () const
 
bool ToLocale (char *theBuffer, const Standard_Integer theSizeBytes) const
 Converts the string into multibyte string. You should avoid this function unless extreme necessity. More...
 
bool IsEmpty () const
 
void Clear ()
 Zero string. More...
 
compare operators
bool operator== (const NCollection_UtfString &theCompare) const
 
bool operator!= (const NCollection_UtfString &theCompare) const
 

assign operators

const NCollection_UtfStringoperator= (const NCollection_UtfString &theOther)
 Copy from another string. More...
 
const NCollection_UtfStringoperator= (const char *theStringUtf8)
 Copy from UTF-8 NULL-terminated string. More...
 
const NCollection_UtfStringoperator= (const Standard_WideChar *theStringUtfWide)
 Copy from wchar_t UTF NULL-terminated string. More...
 
NCollection_UtfStringoperator+= (const NCollection_UtfString &theAppend)
 Join strings. More...
 
NCollection_UtfString operator+ (const NCollection_UtfString &theLeft, const NCollection_UtfString &theRight)
 Join two strings. More...
 

Detailed Description

template<typename Type>
class NCollection_UtfString< Type >

This template class represent constant UTF-* string. String stored in memory continuously, always NULL-terminated and can be used as standard C-string using ToCString() method.

Notice that changing the string is not allowed and any modifications should produce new string.

Constructor & Destructor Documentation

◆ NCollection_UtfString() [1/6]

template<typename Type >
NCollection_UtfString< Type >::NCollection_UtfString ( )

Initialize empty string.

◆ NCollection_UtfString() [2/6]

template<typename Type >
NCollection_UtfString< Type >::NCollection_UtfString ( const NCollection_UtfString< Type > &  theCopy)

Copy constructor.

Parameters
theCopystring to copy.

◆ NCollection_UtfString() [3/6]

template<typename Type >
NCollection_UtfString< Type >::NCollection_UtfString ( const char *  theCopyUtf8,
const Standard_Integer  theLength = -1 
)

Copy constructor from NULL-terminated UTF-8 string.

Parameters
theCopyUtf8NULL-terminated UTF-8 string to copy
theLengththe length limit in Unicode symbols (NOT bytes!)

◆ NCollection_UtfString() [4/6]

template<typename Type >
NCollection_UtfString< Type >::NCollection_UtfString ( const Standard_Utf16Char theCopyUtf16,
const Standard_Integer  theLength = -1 
)

Copy constructor from NULL-terminated UTF-16 string.

Parameters
theCopyUtf16NULL-terminated UTF-16 string to copy
theLengththe length limit in Unicode symbols (NOT bytes!)

◆ NCollection_UtfString() [5/6]

template<typename Type >
NCollection_UtfString< Type >::NCollection_UtfString ( const Standard_Utf32Char theCopyUtf32,
const Standard_Integer  theLength = -1 
)

Copy constructor from NULL-terminated UTF-32 string.

Parameters
theCopyUtf32NULL-terminated UTF-32 string to copy
theLengththe length limit in Unicode symbols (NOT bytes!)

◆ NCollection_UtfString() [6/6]

template<typename Type >
NCollection_UtfString< Type >::NCollection_UtfString ( const Standard_WideChar theCopyUtfWide,
const Standard_Integer  theLength = -1 
)

Copy constructor from NULL-terminated wide UTF string.

Parameters
theCopyUtfWideNULL-terminated wide UTF string to copy
theLengththe length limit in Unicode symbols (NOT bytes!)

This constructor is undefined if Standard_WideChar is the same type as Standard_Utf16Char.

◆ ~NCollection_UtfString()

template<typename Type >
NCollection_UtfString< Type >::~NCollection_UtfString ( )

Destructor.

Member Function Documentation

◆ Clear()

template<typename Type >
void NCollection_UtfString< Type >::Clear ( )

Zero string.

◆ FromLocale()

template<typename Type >
void NCollection_UtfString< Type >::FromLocale ( const char *  theString,
const Standard_Integer  theLength = -1 
)

Copy from NULL-terminated multibyte string in system locale. You should avoid this function unless extreme necessity.

Parameters
theStringNULL-terminated multibyte string
theLengththe length limit in Unicode symbols

◆ FromUnicode()

template<typename Type >
template<typename TypeFrom >
void NCollection_UtfString< Type >::FromUnicode ( const TypeFrom *  theStringUtf,
const Standard_Integer  theLength = -1 
)

Copy from NULL-terminated Unicode string.

Parameters
theStringUtfNULL-terminated Unicode string
theLengththe length limit in Unicode symbols

◆ GetChar()

template<typename Type >
Standard_Utf32Char NCollection_UtfString< Type >::GetChar ( const Standard_Integer  theCharIndex) const

Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.

Parameters
theCharIndexthe index of the symbol, should be lesser than Length()
Returns
the Unicode symbol value

◆ GetCharBuffer()

template<typename Type >
const Type* NCollection_UtfString< Type >::GetCharBuffer ( const Standard_Integer  theCharIndex) const

Retrieve string buffer at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.

Parameters
theCharIndexthe index of the symbol, should be lesser than Length()
Returns
the pointer to the symbol

◆ IsEmpty()

template<typename Type >
bool NCollection_UtfString< Type >::IsEmpty ( ) const
inline
Returns
true if string is empty

◆ IsEqual()

template<typename Type >
bool NCollection_UtfString< Type >::IsEqual ( const NCollection_UtfString< Type > &  theCompare) const

Compares this string with another one.

◆ Iterator()

template<typename Type >
NCollection_UtfIterator<Type> NCollection_UtfString< Type >::Iterator ( ) const
inline

◆ Length()

template<typename Type >
Standard_Integer NCollection_UtfString< Type >::Length ( void  ) const
inline
Returns
the length of the string in Unicode symbols

◆ operator!=()

template<typename Type >
bool NCollection_UtfString< Type >::operator!= ( const NCollection_UtfString< Type > &  theCompare) const

◆ operator+=()

template<typename Type >
NCollection_UtfString& NCollection_UtfString< Type >::operator+= ( const NCollection_UtfString< Type > &  theAppend)

Join strings.

◆ operator=() [1/3]

template<typename Type >
const NCollection_UtfString& NCollection_UtfString< Type >::operator= ( const NCollection_UtfString< Type > &  theOther)

Copy from another string.

◆ operator=() [2/3]

template<typename Type >
const NCollection_UtfString& NCollection_UtfString< Type >::operator= ( const char *  theStringUtf8)

Copy from UTF-8 NULL-terminated string.

◆ operator=() [3/3]

template<typename Type >
const NCollection_UtfString& NCollection_UtfString< Type >::operator= ( const Standard_WideChar theStringUtfWide)

Copy from wchar_t UTF NULL-terminated string.

◆ operator==()

template<typename Type >
bool NCollection_UtfString< Type >::operator== ( const NCollection_UtfString< Type > &  theCompare) const
inline

◆ operator[]()

template<typename Type >
Standard_Utf32Char NCollection_UtfString< Type >::operator[] ( const Standard_Integer  theCharIndex) const
inline

Retrieve Unicode symbol at specified position. Warning! This is a slow access. Iterator should be used for consecutive parsing.

◆ Size()

template<typename Type >
Standard_Integer NCollection_UtfString< Type >::Size ( void  ) const
inline
Returns
the size of the buffer, excluding NULL-termination symbol

◆ SubString()

template<typename Type >
NCollection_UtfString NCollection_UtfString< Type >::SubString ( const Standard_Integer  theStart,
const Standard_Integer  theEnd 
) const

Returns the substring.

Parameters
theStartstart index (inclusive) of subString
theEndend index (exclusive) of subString
Returns
the substring

◆ ToCString()

template<typename Type >
const Type* NCollection_UtfString< Type >::ToCString ( ) const
inline

Returns NULL-terminated Unicode string. Should not be modifed or deleted!

Returns
(const Type* ) pointer to string

◆ ToLocale()

template<typename Type >
bool NCollection_UtfString< Type >::ToLocale ( char *  theBuffer,
const Standard_Integer  theSizeBytes 
) const

Converts the string into multibyte string. You should avoid this function unless extreme necessity.

Parameters
theBufferoutput buffer
theSizeBytesbuffer size in bytes
Returns
true on success

◆ ToUtf16()

template<typename Type >
const NCollection_UtfString<Standard_Utf16Char> NCollection_UtfString< Type >::ToUtf16 ( ) const
Returns
copy in UTF-16 format

◆ ToUtf32()

template<typename Type >
const NCollection_UtfString<Standard_Utf32Char> NCollection_UtfString< Type >::ToUtf32 ( ) const
Returns
copy in UTF-32 format

◆ ToUtf8()

template<typename Type >
const NCollection_UtfString<Standard_Utf8Char> NCollection_UtfString< Type >::ToUtf8 ( ) const
Returns
copy in UTF-8 format

◆ ToUtfWide()

template<typename Type >
const NCollection_UtfString<Standard_WideChar> NCollection_UtfString< Type >::ToUtfWide ( ) const
Returns
copy in wide format (UTF-16 on Windows and UTF-32 on Linux)

Friends And Related Function Documentation

◆ operator+

template<typename Type >
NCollection_UtfString operator+ ( const NCollection_UtfString< Type > &  theLeft,
const NCollection_UtfString< Type > &  theRight 
)
friend

Join two strings.


The documentation for this class was generated from the following file: