8#ifndef INCLUDED_BDLB_VARIANTPRINTER
9#define INCLUDED_BDLB_VARIANTPRINTER
168#include <bdlscm_version.h>
177#include <bsl_ostream.h>
198 template <
class t_TYPE>
207template <
class t_VARIANT>
210 const t_VARIANT* d_data_p;
234 bsl::ostream&
print(bsl::ostream& stream,
236 int spacesPerLevel = 4)
const;
250template <
class t_VARIANT>
269 template <
class t_VARIANT>
281template <
class t_TYPE>
300template <
class t_VARIANT>
308template <
class t_VARIANT>
310 bsl::ostream& stream,
312 int spacesPerLevel)
const
314 if (d_data_p->valueless_by_exception()) {
323 visit(visitor, *d_data_p);
337template <
class t_VARIANT>
348template <
class t_VARIANT>
350 bsl::ostream& stream,
353 return object.print(stream, 0, -1);
Definition bdlb_variantprinter.h:208
VariantPrinter(const t_VARIANT *data)
Create VariantPrinter with the specified data.
Definition bdlb_variantprinter.h:301
BSLMF_NESTED_TRAIT_DECLARATION(VariantPrinter, bslfmt::EnableStreamedFormatter)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
Definition bdlb_variantprinter.h:309
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
bsl::ostream & print(bsl::ostream &stream, const TYPE &object, int level=0, int spacesPerLevel=4)
Definition bdlb_printmethods.h:725
Definition bdlb_algorithmworkaroundutil.h:74
bsl::ostream & operator<<(bsl::ostream &stream, const BigEndianInt16 &integer)
Definition bdlb_variantprinter.h:264
static VariantPrinter< t_VARIANT > makePrinter(const t_VARIANT &data)
Return an VariantPrinter that prints the specified data.
Definition bdlb_variantprinter.h:340
Definition bdlb_variantprinter.h:189
int d_spacesPerLevel
Definition bdlb_variantprinter.h:193
bsl::ostream * d_stream_p
Definition bdlb_variantprinter.h:191
void operator()(const t_TYPE &object) const
Call print on object using the data fields of this struct.
Definition bdlb_variantprinter.h:283
int d_level
Definition bdlb_variantprinter.h:192