[PRIVATE] This struct provides a namespace for static methods used to implement Utf8Util
. Note that the functions are not typically useful for clients, and are primarily exposed to allow for more thorough testing.
static int bdlde::Utf8Util_ImpUtil::getLineAndColumnNumber |
( |
Uint64 * |
lineNumber, |
|
|
Uint64 * |
utf8Column, |
|
|
Uint64 * |
startOfLineByteOffset, |
|
|
bsl::streambuf * |
input, |
|
|
Uint64 |
byteOffset, |
|
|
char |
lineDelimeter, |
|
|
char * |
temporaryReadBuffer, |
|
|
int |
temporaryReadBufferNumBytes |
|
) |
| |
|
static |
For the specified byteOffset
in the specified input
, load the byte 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 the specified startOfLineByteOffset
, using the specified lineDelimeter
as the line separator, and using the specified temporaryReadBuffer
(of the specified length temporaryReadBufferNumBytes
) as a temporary buffer for reading. 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
. The behavior is undefined unless temporaryReadBuffer
refers to a valid buffer of at least temporaryReadBufferNumBytes
bytes, and temporaryReadBufferNumBytes
is greater than or equal to 4.