BloombergLP::bdlb::VariantImp::print

Format this object to the specified output stream.

Synopsis

Declared in <bdlb_variant.h>

std::ostream&
print(
    std::ostream& stream,
    int level = 0,
    int spacesPerLevel = 4) const;

Description

If level is specified, optionally specify spacesPerLevel, 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. Nothing is printed if this variant is unset. Each type that may be contained by this variant shall be printable with bdlb::PrintMethods (typically meaning that they either declare the bdlb::HasPrintMethod trait or provide the << output streaming operator). See {bdlb_printmethods}. The compiler will emit an error if bdlb::PrintMethods::print cannot be instantiated for each type that may be contained by this variant.

Return Value

a reference to stream

Parameters

NameDescription
streamstream used for input or output
levelabsolute indentation level
spacesPerLevelspaces per indentation level