[#BloombergLP-bdlde-Utf8Util-advanceRaw-06d]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlde.adoc[bdlde]::xref:BloombergLP/bdlde/Utf8Util.adoc[Utf8Util]::advanceRaw
:relfileprefix: ../../../
:mrdocs:

`advanceRaw` overloads

== Synopses

Declared in `&lt;bdlde&lowbar;utf8util&period;h&gt;`

Advance past 0 or more consecutive Unicode code points at the beginning of the specified `string`, until either the specified `numCodePoints` bytes or the whole string have been traversed (whichever occurs first), and return the number of Unicode code points traversed&period; Set the specified `&ast;result` to the address of the byte immediately following the last code point traversed, or to `string` if `length` or `numCodePoints` is 0&period; `string` need not be null&hyphen;terminated and can contain embedded null bytes&period; The behavior is undefined unless `string` contains only valid UTF&hyphen;8 characters and `0 &lt;&equals; numCodePoints`&period; Note that the value returned will be in the range `&lsqb;0 &period;&period; numCodePoints&rsqb;`&period; Also note that `string` may contain less than `length` Unicode code points&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
xref:BloombergLP/bdlde/Utf8Util/IntPtr.adoc[Utf8Util::IntPtr]
xref:BloombergLP/bdlde/Utf8Util/advanceRaw-065.adoc[advanceRaw](
    char const** result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlde/Utf8Util/IntPtr.adoc[IntPtr] numCodePoints);
----

[.small]#xref:BloombergLP/bdlde/Utf8Util/advanceRaw-065.adoc[_» more&period;&period;&period;_]#

Advance past 0 or more consecutive Unicode code points at the beginning of the specified `string`, until either the specified `numCodePoints` bytes have been traversed or the terminating null byte is encountered (whichever occurs first), and return the number of Unicode code points traversed&period; Set the specified `&ast;result` to the address of the byte immediately following the last code point traversed, or to `string` if `string` is empty or `numCodePoints` is 0&period; `string` is necessarily null&hyphen;terminated, so it cannot contain embedded null bytes&period; The behavior is undefined unless `string` contains valid UTF&hyphen;8 and `0 &lt;&equals; numCodePoints`&period; Note that the value returned will be in the range `&lsqb;0 &period;&period; numCodePoints&rsqb;`&period; Also note that `string` may contain less than `bsl&colon;&colon;strlen(string)` Unicode code points&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
xref:BloombergLP/bdlde/Utf8Util/IntPtr.adoc[IntPtr]
xref:BloombergLP/bdlde/Utf8Util/advanceRaw-01.adoc[advanceRaw](
    char const** result,
    char const* string,
    xref:BloombergLP/bdlde/Utf8Util/IntPtr.adoc[IntPtr] numCodePoints);
----

[.small]#xref:BloombergLP/bdlde/Utf8Util/advanceRaw-01.adoc[_» more&period;&period;&period;_]#

Advance past 0 or more consecutive Unicode code points at the beginning of the specified `string` having the specified `length` (in bytes), until either the specified `numCodePoints` or `length` bytes have been traversed (whichever occurs first), and return the number of Unicode code points traversed&period; Set the specified `&ast;result` to the address of the byte immediately following the last code point traversed, or to `string` if `length` or `numCodePoints` is 0&period; `string` need not be null&hyphen;terminated and can contain embedded null bytes, and `string` may be null if `0 &equals;&equals; length` (see &lcub;Empty Input Strings&rcub;)&period; The behavior is undefined unless the initial `length` bytes of `string` contain valid UTF&hyphen;8 and `0 &lt;&equals; numCodePoints`&period; Note that the value returned will be in the range `&lsqb;0 &period;&period; numCodePoints&rsqb;`&period; Also note that `string` may contain less than `length` Unicode code points&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
xref:BloombergLP/bdlde/Utf8Util/IntPtr.adoc[IntPtr]
xref:BloombergLP/bdlde/Utf8Util/advanceRaw-00.adoc[advanceRaw](
    char const** result,
    char const* string,
    xref:BloombergLP/bdlde/Utf8Util/size_type.adoc[size&lowbar;type] length,
    xref:BloombergLP/bdlde/Utf8Util/IntPtr.adoc[IntPtr] numCodePoints);
----

[.small]#xref:BloombergLP/bdlde/Utf8Util/advanceRaw-00.adoc[_» more&period;&period;&period;_]#


[.small]#Created with https://www.mrdocs.com[MrDocs]#
