FormatStatement Manual

About

Typically a Maxon API interface or a data type defines a "ToString()" function. This function returns a maxon::String describing the given object. Such a "ToString()" function accepts a maxon::FormatStatement argument that can contain additional information on how the object should be described.

Class

A maxon::FormatStatement object contains string stored under a given string identifier.

ToString

A "ToString()" function can read information from the given maxon::FormatStatement to define how it formats the returned maxon::String.

Usage

When calling a "ToString()" function the call can hand over a maxon::FormatStatement argument to modify the behaviour of the function.

For more information about the output syntax see Output Syntax.

Note
Not all "ToString()" functions do handle the maxon::FormatStatement argument. When a function does not handle the argument, a nullptr can be handed over.
// This example prints the data of the given data type to the debug console.
// The behaviour of ToString() is controlled via FormatStatement arguments.
FloatTriplet triplet;
triplet._a = 1.1;
triplet._b = 1.2;
triplet._c = 1.3;
// long format
longFormat.Set("Format"_cs, "Long"_cs) iferr_return;
const maxon::String longFormatString = triplet.ToString(&longFormat);
DiagnosticOutput("@", longFormatString);
// short format
shortFormat.Set("Format"_cs, "Short"_cs) iferr_return;
const maxon::String shortFormatString = triplet.ToString(&shortFormat);
DiagnosticOutput("@", shortFormatString);
// default format
DiagnosticOutput("@", triplet);
Class to store formatting statements.
Definition: string.h:2210
Result< void > Set(const Char *identifier, const CString &str)
Definition: string.h:1287
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:170
#define iferr_return
Definition: resultbase.h:1771

Further Reading