BloombergLP::bdlde::Utf8Util::getLineAndColumnNumber

Load line and column information for byteOffset in input.

Synopsis

Declared in <bdlde_utf8util.h>

static
int
getLineAndColumnNumber(
    Uint64* lineNumber,
    Uint64* utf8Column,
    Uint64* startOfLineByteOffset,
    std::streambuf* input,
    Uint64 byteOffset);

Description

For the specified byteOffset in the specified input, load the offset'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. Optionally specify lineDelimeter used to the determine line separator. If lineDelimeter is not supplied, lines are delimited using ` `. Return 0 on success, or a non-zero value if location cannot be found in input or if input contains non-UTF-8 characters. The utf8Column is the number of UTF-8 code points between startOfLineByteOffset and byteOffset.

Return Value

0 on success, and a non-zero value otherwise

Parameters

NameDescription
lineNumberreceives the 1-based line number of byteOffset
utf8Columnreceives the UTF-8 column within the line
startOfLineByteOffsetreceives the byte offset of the line start
inputstream buffer containing UTF-8 text
byteOffsetbyte offset whose line and column are requested