BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bslfmt::FormatterString_GraphemeCluster Class Reference

#include <bslfmt_formatterstring.h>

Detailed Description

[PRIVATE] This private implementation class characterizes a grapheme cluster represented by a set of integral values. This class is private to this component and should not be used by clients.

See bslfmt_formatterstring

Public Member Functions

 FormatterString_GraphemeCluster ()
 
void extract (UnicodeCodePoint::UtfEncoding encoding, const void *bytes, size_t maxBytes)
 
void reset ()
 
bool isValid () const
 
int numSourceBytes () const
 
int numCodePoints () const
 
unsigned long int firstCodePointValue () const
 
int firstCodePointWidth () const
 

Constructor & Destructor Documentation

◆ FormatterString_GraphemeCluster()

bslfmt::FormatterString_GraphemeCluster::FormatterString_GraphemeCluster ( )
inline

Create an uninitialized cluster object (that is not valid).

Member Function Documentation

◆ extract()

void bslfmt::FormatterString_GraphemeCluster::extract ( UnicodeCodePoint::UtfEncoding  encoding,
const void *  bytes,
size_t  maxBytes 
)

Extract a grapheme cluster from no more than the specified maxBytes of the byte stream at the specified bytes location in the specified encoding. Behavior is undefined if the input bytes are not in the specified encoding. Unicode Byte Order Markers are not supported and behavior is undefined if the input data contains an embedded BOM. Endianness is assumed to be that of the type pointed to by bytes.

For UTF-8, behavior is undefined if bytes is not a valid pointer to an array of numBytes unsigned char types in contiguous memory.

For UTF-16, behavior is undefined if bytes is not a valid pointer to an array of numBytes/2 wchar_t types in contiguous memory. Behavior is undefined if 2 != sizeof(wchar_t). Endianness is assumed to be the same as for the wchar_t type and Byte Order Markers are not supported.

For UTF-32, behavior is undefined if bytes is not a valid pointer to an array of numBytes/4 wchar_t types in contiguous memory. Behavior is undefined if 4 != sizeof(wchar_t). Endianness is assumed to be the same as for the wchar_t type and Byte Order Markers are not supported.

◆ firstCodePointValue()

unsigned long int bslfmt::FormatterString_GraphemeCluster::firstCodePointValue ( ) const
inline

Return the value of the first code point in this cluster.

◆ firstCodePointWidth()

int bslfmt::FormatterString_GraphemeCluster::firstCodePointWidth ( ) const
inline

Return the width of the first code point in this cluster.

◆ isValid()

bool bslfmt::FormatterString_GraphemeCluster::isValid ( ) const
inline

Return true if this object was successfully extracted and contains valid code point data, and false otherwise.

◆ numCodePoints()

int bslfmt::FormatterString_GraphemeCluster::numCodePoints ( ) const
inline

Return the number of code points this cluster contains.

◆ numSourceBytes()

int bslfmt::FormatterString_GraphemeCluster::numSourceBytes ( ) const
inline

Return the number of bytes occupied by this cluster.

◆ reset()

void bslfmt::FormatterString_GraphemeCluster::reset ( )
inline

Reset this object to an uninitialized state.


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