JsonPrinter#
Fully qualified name: omni::structuredlog::JsonPrinter
Defined in omni/structuredlog/JsonSerializer.h
-
class JsonPrinter : public omni::structuredlog::JsonConsumer#
An implementation of JsonConsumer that just prints to a fixed string.
Public Functions
-
inline JsonPrinter()#
-
inline JsonPrinter(char *output, size_t outputLen) noexcept#
Create a printer from a fixed string buffer.
- Parameters:
output – [out] The instance will write to this buffer.
outputLen – [in] The number of bytes that can be written to
output
.
-
inline void reset(char *output, size_t outputLen) noexcept#
Reinitialize the printer with a new buffer.
- Parameters:
output – [out] The instance will write to this buffer.
outputLen – [in] The number of bytes that can be written to
output
.
- inline virtual void consume(
- const char *json,
- size_t jsonLen,
Write a string into the buffer.
- Parameters:
json – [in] The data to write into the buffer.
jsonLen – [in] The length of
json
, excluding any null terminator.
-
inline virtual void terminate() noexcept override#
Terminate the output, if needed.
Remark
This will be called to ensure the output is null terminated.
-
inline bool hasOverflowed() noexcept#
Check whether more data was printed than would fit in the printer’s buffer.
- Returns:
true
if the buffer was too small to fit all the consumed data.- Returns:
false
if the buffer was able to fit all the consumed data.
-
inline char *getNextChar() const noexcept#
Get the pointer to the next char to be written in the buffer.
- Returns:
The pointer to the next character to be written. If the buffer has overflowed, this will point past the end of the buffer.
-
inline JsonPrinter()#