7#include "formula_node.hpp"
8#include "../macros.hpp"
10hi_export_module(hikogui.formula.formula_ternary_operator_node);
12namespace hi {
inline namespace v1 {
20 size_t line_nr,
size_t column_nr,
26 hi_assert(
pair_.args.size() == 2);
36 rhs_true->post_process(
context);
37 rhs_false->post_process(
context);
44 return rhs_true->evaluate(
context);
46 return rhs_false->evaluate(
context);
52 return std::format(
"({} ? {} : {})", *lhs, *rhs_true, *rhs_false);
DOXYGEN BUG.
Definition algorithm.hpp:16
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377
A dynamic data type.
Definition datum.hpp:212
A temporary node used during parsing.
Definition formula_arguments.hpp:16
Definition formula_evaluation_context.hpp:18
Definition formula_node.hpp:21
Definition formula_post_process_context.hpp:237
Definition formula_ternary_operator_node.hpp:14
void post_process(formula_post_process_context &context) override
Resolve function and method pointers.
Definition formula_ternary_operator_node.hpp:33
datum evaluate(formula_evaluation_context &context) const override
Evaluate an rvalue.
Definition formula_ternary_operator_node.hpp:40