class PrettyOptional

Defined at line 210 of file ../../src/developer/debug/zxdb/expr/pretty_type.h

Implements pretty-printing for "std::optional" and similar classes that can have a value or not.

Public Methods

void PrettyOptional (const std::string & simple_type_name, const std::string & is_engaged_expr, const std::string & value_expr, const std::string & name_when_disengaged, std::initializer_list<std::pair<std::string, std::string>> getters)

Evaluates the |is_engaged_expr|. If engaged (nonempty), show the result of evaluating the

|value_expr| which retrieves the value. If invalid the description of this item will be

|name_when_disengaged|.

The is_engaged_expr should evaluate to a boolean or integer that's either zero or nonzero.

Defined at line 217 of file ../../src/developer/debug/zxdb/expr/pretty_type.h

void Format (FormatNode * node, const FormatOptions & options, const fxl::RefPtr<EvalContext> & context, fit::deferred_callback cb)

Defined at line 561 of file ../../src/developer/debug/zxdb/expr/pretty_type.cc

EvalFunction GetDereferencer ()

Defined at line 579 of file ../../src/developer/debug/zxdb/expr/pretty_type.cc