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.
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);