BloombergLP::bdld::DatumUtil::typedPrint

Write the type-tagged value of the specified object to the specified outputStream.

Synopsis

Declared in <bdld_datumutil.h>

static
std::ostream&
typedPrint(
    std::ostream& outputStream,
    Datum const& object,
    int level = 0,
    int spacesPerLevel = 4);

Description

Write the value of the specified object to the specified outputStream in a human-readable format that is non-ambiguous regarding the type of the bdld::Datum value printed, and return a reference to the modifiable outputStream. Optionally specify an initial indentation level, whose absolute value is incremented recursively for nested objects. If level is specified, optionally specify spacesPerLevel, whose absolute value indicates the number of spaces per indentation level for this and all of its nested objects. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level). If stream is not valid on entry, this operation has no effect. The behavior is undefined unless the data structure represented by object is a graph without any cycles. In case of an untrusted data structure, use safeTypedPrint. Note that the human-readable format is not fully specified, and can change without notice.

Return Value

reference to the modifiable outputStream

Parameters

NameDescription
outputStreamoutput stream
objectvalue to print
levelinitial indentation level
spacesPerLevelspaces per indentation level