7#include "formula_node.hpp"
8#include "../macros.hpp"
10hi_export_module(hikogui.formula.formula_vector_literal_node);
12namespace hi {
inline namespace v1 {
24 for (
auto &value : values) {
32 for (hilet &value : values) {
41 throw operation_error(std::format(
"{}:{}: Unpacking values can only be done on vectors, got {}.", line_nr, column_nr, rhs));
43 if (values.size() < 1) {
44 throw operation_error(std::format(
"{}:{}: Unpacking can only be done on 1 or more return values.", line_nr, column_nr));
46 if (values.size() != rhs.size()) {
48 "{}:{}: Unpacking values can only be done on with a vector of size {} got {}.",
59 hilet &
lhs_ = values[i];
62 if (++i < rhs.size()) {
74 for (hilet &value : values) {
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
Definition formula_evaluation_context.hpp:18
Definition formula_node.hpp:21
Definition formula_post_process_context.hpp:237
Definition formula_vector_literal_node.hpp:14
datum & assign(formula_evaluation_context &context, datum const &rhs) const override
Assign to a non-existing or existing lvalue.
Definition formula_vector_literal_node.hpp:38
void post_process(formula_post_process_context &context) override
Resolve function and method pointers.
Definition formula_vector_literal_node.hpp:22
datum evaluate(formula_evaluation_context &context) const override
Evaluate an rvalue.
Definition formula_vector_literal_node.hpp:29
Exception thrown during execution of a dynamic operation.
Definition exception_intf.hpp:160