[#BloombergLP-bslim-Printer-printForeign] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslim.adoc[bslim]::xref:BloombergLP/bslim/Printer.adoc[Printer]::printForeign :relfileprefix: ../../../ :mrdocs: Print to the output stream supplied at construction the specified `name`, if name is not 0, and then call the specified `printFunctionObject` with the specified `data`, the `stream` supplied at construction, `absLevel() + 1`, and `spacesPerLevel()`. The parameterized `PRINT_FUNCTOR` must be an invocable type whose arguments match the following function signature: ` bsl::ostream& (*)(bsl::ostream& stream, const TYPE& data, int level, int spacesPerLevel) ` == Synopsis Declared in `<bslim_printer.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class TYPE, class PRINT_FUNCTOR> void printForeign( TYPE const& data, PRINT_FUNCTOR const& printFunctionObject, char const* name) const; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#