Skip to content

mdz_utf8_insertWchar_async

maxdz-gmbh edited this page Apr 29, 2021 · 6 revisions

Insert nCount "wide"-characters in string. Characters are converted to UTF-8 characters before isertion. Size grows on added bytes. Length grows on symbols count.
String reserved area and pwcItems should not overlap.

mdz_bool mdz_utf8_insertWchar_async(
  struct mdz_Utf8* pUtf8,
  size_t nLeftPos,
  const wchar_t* pwcItems,
  size_t nCount,
  size_t nWcharSize,
  mdz_bool bReserve,
  struct mdz_asyncData* pAsyncData);

Synchronous version:
mdz_utf8_insertWchar(pUtf8, nLeftPos, pwcItems, nCount, nWcharSize, bReserve);

Parameter Description
pUtf8 pointer to string returned by mdz_utf8_create() or mdz_utf8_create_attached()
nLeftPos 0-based position to insert in symbols. "surrogate pairs" count as 1 symbol. If nLeftPos == Length or -1, items are appended. nLeftPos > Length is not allowed
pwcItems "wide"-characters to insert
nCount number of "wide"-characters to insert or 0 if characters until 0-terminator should be used
nWcharSize size of pwcItems wchar_t character in bytes
bReserve if mdz_true reserve capacity when there is not enough space for insertion, otherwise mdz_false
pAsyncData pointer to shared async data for asynchronous call, or NULL if call should be synchronous
Return Description
mdz_false if pUtf8 == NULL
mdz_false if bReserve == mdz_true and memory allocation failed (MDZ_ERROR_ALLOCATION)
mdz_false if nWcharSize is not 2 or 4 (MDZ_ERROR_WCHAR_SIZE)
mdz_false if bReserve == mdz_true and there is not enough capacity for inserted data, but m_pData is attached using mdz_utf8_attachData() (MDZ_ERROR_ATTACHED)
mdz_false if bReserve == mdz_false and there is not enough free Capacity in the string (MDZ_ERROR_CAPACITY)
mdz_false if pwcItems contain invalid "wide"-character(s) (MDZ_ERROR_CONTENT)
mdz_false if string reserved area and pwcItems overlap (MDZ_ERROR_OVERLAP)
mdz_true if pwcItems == NULL (MDZ_ERROR_ITEMS), or nCount == 0 (MDZ_ERROR_ZEROCOUNT), or nLeftPos > Length (MDZ_ERROR_BIGLEFT). No insertion is made
mdz_true insertion succeeded
mdz_utf8 API Reference is generated using mdzApiRefGenerator.

Init mdz_unicode library functions

mdz_utf8 functions

mdz_wchar functions

mdz_utf16 functions

mdz_utf32 functions

mdz_unicode API Reference is generated using mdzApiRefGenerator.
Clone this wiki locally