7#include "skeleton_node.hpp"
12 statement_vector children;
26 if (std::ssize(children) > 0) {
27 children.back()->left_align();
30 post_process_expression(context, *expression, location);
31 for (ttlet &child: children) {
32 child->post_process(context);
40 while (evaluate_formula_without_output(context, *expression, location)) {
41 context.loop_push(loop_count++);
42 auto tmp = evaluate_children(context, children);
46 }
else if (tmp.is_continue()) {
48 }
else if (!tmp.is_undefined()) {
58 s += to_string(*expression);
Definition formula_evaluation_context.hpp:16
void set_output_size(ssize_t new_size) noexcept
Set the size of the output.
Definition formula_evaluation_context.hpp:67
ssize_t output_size() const noexcept
Get the size of the output.
Definition formula_evaluation_context.hpp:60
Definition formula_post_process_context.hpp:18
Definition parse_location.hpp:16
Definition skeleton_node.hpp:16
Definition skeleton_while_node.hpp:11
datum evaluate(formula_evaluation_context &context) override
Evaluate the template.
Definition skeleton_while_node.hpp:36
bool append(std::unique_ptr< skeleton_node > x) noexcept override
Append a template-piece to the current template.
Definition skeleton_while_node.hpp:20