BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdld::DatumUtil Struct Reference

#include <bdld_datumutil.h>

Static Public Member Functions

static bsl::ostream & safeTypedPrint (bsl::ostream &outputStream, const Datum &object, int level=0, int spacesPerLevel=4)
 
static bsl::ostream & typedPrint (bsl::ostream &outputStream, const Datum &object, int level=0, int spacesPerLevel=4)
 

Detailed Description

This struct serves as a namespace for utility functions that operate on bdld::Datum objects.

Member Function Documentation

◆ safeTypedPrint()

static bsl::ostream & bdld::DatumUtil::safeTypedPrint ( bsl::ostream &  outputStream,
const Datum object,
int  level = 0,
int  spacesPerLevel = 4 
)
static

Write the value of the specified object to the specified outputStream in a human-readable format that is non-ambiguous regarding the type of the bdld::Datum value printed, and return a reference to the modifiable outputStream. Optionally specify an initial indentation level, whose absolute value is incremented recursively for nested objects. If level is specified, optionally specify spacesPerLevel, whose absolute value indicates 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. Note that safeTypedPrint explicitly allows self- referential data structures, or in other words data structures with cycles, to be printed. When a cycle is detected, that subgraph is not printed again. Also note that the human-readable format is not fully specified, and can change without notice.

◆ typedPrint()

static bsl::ostream & bdld::DatumUtil::typedPrint ( bsl::ostream &  outputStream,
const Datum object,
int  level = 0,
int  spacesPerLevel = 4 
)
static

Write the value of the specified object to the specified outputStream in a human-readable format that is non-ambiguous regarding the type of the bdld::Datum value printed, and return a reference to the modifiable outputStream. Optionally specify an initial indentation level, whose absolute value is incremented recursively for nested objects. If level is specified, optionally specify spacesPerLevel, whose absolute value indicates 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. The behavior is undefined unless the data structure represented by object is a graph without any cycles. In case of an untrusted data structure, use safeTypedPrint. Note that the human-readable format is not fully specified, and can change without notice.


The documentation for this struct was generated from the following file: