HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
formula_arguments.hpp
1// Copyright Take Vos 2020.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "formula_node.hpp"
8#include "../macros.hpp"
9
10hi_export_module(hikogui.formula.formula_arguments);
11
12namespace hi { inline namespace v1 {
13
17 formula_vector args;
18
19 formula_arguments(size_t line_nr, size_t column_nr, formula_vector args) : formula_node(line_nr, column_nr), args(std::move(args)) {}
20
22 formula_node(line_nr, column_nr)
23 {
24 args.push_back(std::move(arg1));
25 args.push_back(std::move(arg2));
26 }
27
29 {
30 return {};
31 };
32
33 std::string string() const noexcept override
34 {
35 std::string s = "<args ";
36 int i = 0;
37 for (hilet &arg : args) {
38 if (i++ > 0) {
39 s += ", ";
40 }
41 s += arg->string();
42 }
43 return s + ">";
44 }
45};
46
47}} // namespace hi::inline v1
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
datum evaluate(formula_evaluation_context &context) const override
Evaluate an rvalue.
Definition formula_arguments.hpp:28
Definition formula_evaluation_context.hpp:18
Definition formula_node.hpp:21
T move(T... args)