7#include "skeleton_node.hpp"
9namespace hi::inline
v1 {
27 expression->post_process(context);
30 throw operation_error(std::format(
"{}: Could not post process placeholder.\n{}", location, e.
what()));
36 return std::format(
"<placeholder {}>", *expression);
43 hilet tmp = evaluate_expression(context, *expression, location);
45 throw operation_error(std::format(
"{}: Found #break not inside a loop statement.", location));
47 }
else if (tmp.is_continue()) {
48 throw operation_error(std::format(
"{}: Found #continue not inside a loop statement.", location));
50 }
else if (tmp.is_undefined()) {
#define hilet
Invariant should be the default for variables.
Definition utility.hpp:23
DOXYGEN BUG.
Definition algorithm.hpp:15
A dynamic data type.
Definition datum.hpp:225
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:68
ssize_t output_size() const noexcept
Get the size of the output.
Definition formula_evaluation_context.hpp:60
void write(std::string_view text) noexcept
Write data to the output.
Definition formula_evaluation_context.hpp:50
Definition formula_post_process_context.hpp:19
Definition parse_location.hpp:18
Definition skeleton_node.hpp:16
Definition skeleton_placeholder_node.hpp:11
datum evaluate(formula_evaluation_context &context) override
Evaluate the template.
Definition skeleton_placeholder_node.hpp:39
bool should_left_align() const noexcept override
Should any spaces on the left side of a statement be removed?
Definition skeleton_placeholder_node.hpp:19