[#BloombergLP-bdlde-Utf8Util-getLineAndColumnNumber-0c]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlde.adoc[bdlde]::xref:BloombergLP/bdlde/Utf8Util.adoc[Utf8Util]::getLineAndColumnNumber
:relfileprefix: ../../../
:mrdocs:

Load line and column information for `byteOffset` in `input`&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
getLineAndColumnNumber(
    xref:BloombergLP/bdlde/Utf8Util/Uint64.adoc[Uint64]* lineNumber,
    xref:BloombergLP/bdlde/Utf8Util/Uint64.adoc[Uint64]* utf8Column,
    xref:BloombergLP/bdlde/Utf8Util/Uint64.adoc[Uint64]* startOfLineByteOffset,
    std::streambuf* input,
    xref:BloombergLP/bdlde/Utf8Util/Uint64.adoc[Uint64] byteOffset);
----

== Description

For the specified `byteOffset` in the specified `input`, load the offset&apos;s line number into the specified `lineNumber`, the column number into the specified `utf8Column`, and the byte offset for the start of the line into `startOfLineByteOffset`&period; Optionally specify `lineDelimeter` used to the determine line separator&period; If `lineDelimeter` is not supplied, lines are delimited using &grave;
&grave;&period; Return 0 on success, or a non&hyphen;zero value if `location` cannot be found in `input` or if `input` contains non&hyphen;UTF&hyphen;8 characters&period; The `utf8Column` is the number of UTF&hyphen;8 code points between `startOfLineByteOffset` and `byteOffset`&period;

== Return Value

0 on success, and a non&hyphen;zero value otherwise

== Parameters

[cols="1,4"]
|===
| Name| Description
| *lineNumber*
| receives the 1&hyphen;based line number of `byteOffset`
| *utf8Column*
| receives the UTF&hyphen;8 column within the line
| *startOfLineByteOffset*
| receives the byte offset of the line start
| *input*
| stream buffer containing UTF&hyphen;8 text
| *byteOffset*
| byte offset whose line and column are requested
|===


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