Format the specified std::variant object to the specified output stream.

Synopsis

Declared in <bdlb_printmethods.h>

template<class... TYPE>
std::ostream&
print(
    std::ostream& stream,
    std::variant<TYPE...> const& object,
    int level = 0,
    int spacesPerLevel = 4);

Description

Format the specified object to the specified output stream at the (absolute value of) the optionally specified indentation level and return a reference to stream. 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. A descriptive, human‐readable message, indented according to level and spacesPerLevel, is output for objects holding the value of type std::monostate. Note that a std::variant object can hold the std::monostate value only if its template parameters explicitly mention the std::monostate type.

Return Value

reference to stream

Parameters

Name

Description

stream

output stream

object

variant to print

level

initial indentation level

spacesPerLevel

spaces per indentation level

Created with MrDocs