[#BloombergLP-bdlb-PrintMethods-print-062] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::xref:BloombergLP/bdlb/PrintMethods.adoc[PrintMethods]::print :relfileprefix: ../../../ :mrdocs: 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. == Synopsis Declared in `<bdlb_printmethods.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class... TYPE> std::ostream& print( std::ostream& stream, std::variant<TYPE...> const& object, int level = 0, int spacesPerLevel = 4); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#