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

Synopsis

Declared in <bdld_datumutil.h>

struct DatumUtil;

Static Member Functions

Name

Description

safeTypedPrint

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

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.

Created with MrDocs