HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
hikogui
formula
formula_assign_node.hpp
1
// Copyright Take Vos 2020-2021.
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_binary_operator_node.hpp"
8
9
namespace
hi::inline
v1
{
10
11
struct
formula_assign_node final : formula_binary_operator_node {
12
formula_assign_node(
parse_location
location,
std::unique_ptr<formula_node>
lhs,
std::unique_ptr<formula_node>
rhs) :
13
formula_binary_operator_node(
std::move
(location),
std::move
(lhs),
std::move
(rhs))
14
{
15
}
16
17
datum
evaluate
(
formula_evaluation_context
&context)
const override
18
{
19
auto
rhs_ = rhs->evaluate(context);
20
return
lhs->assign(context, rhs_);
21
}
22
23
std::string
string() const noexcept
override
24
{
25
return
std::format(
"({} = {})"
, *lhs, *rhs);
26
}
27
};
28
29
}
// namespace hi::inline v1
v1
DOXYGEN BUG.
Definition
algorithm.hpp:13
v1::datum
A dynamic data type.
Definition
datum.hpp:223
v1::formula_assign_node::evaluate
datum evaluate(formula_evaluation_context &context) const override
Evaluate an rvalue.
Definition
formula_assign_node.hpp:17
v1::formula_evaluation_context
Definition
formula_evaluation_context.hpp:15
v1::parse_location
Definition
parse_location.hpp:18
std::string
std::move
T move(T... args)
std::unique_ptr
Generated on
for HikoGUI by
1.16.1