|
HikoGUI
A low latency retained GUI
|
Public Types | |
| using | formula_vector = std::vector<std::unique_ptr<formula_node>> |
Data Fields | |
| parse_location | location |
Friends | |
| std::string | to_string (formula_node const &rhs) noexcept |
| std::ostream & | operator<< (std::ostream &lhs, formula_node const &rhs) noexcept |
|
inlinevirtual |
Assign to a non-existing or existing lvalue.
Reimplemented in v1::formula_name_node, and v1::formula_vector_literal_node.
|
inlinevirtual |
Call a function with a datum::vector as arguments.
Reimplemented in v1::formula_member_node, and v1::formula_name_node.
|
pure virtual |
Evaluate an rvalue.
Implemented in v1::formula_add_node, v1::formula_arguments, v1::formula_assign_node, v1::formula_bit_and_node, v1::formula_bit_or_node, v1::formula_bit_xor_node, v1::formula_call_node, v1::formula_decrement_node, v1::formula_div_node, v1::formula_eq_node, v1::formula_filter_node, v1::formula_ge_node, v1::formula_gt_node, v1::formula_increment_node, v1::formula_index_node, v1::formula_inplace_add_node, v1::formula_inplace_and_node, v1::formula_inplace_div_node, v1::formula_inplace_mod_node, v1::formula_inplace_mul_node, v1::formula_inplace_or_node, v1::formula_inplace_shl_node, v1::formula_inplace_shr_node, v1::formula_inplace_sub_node, v1::formula_inplace_xor_node, v1::formula_invert_node, v1::formula_le_node, v1::formula_literal_node, v1::formula_logical_and_node, v1::formula_logical_not_node, v1::formula_logical_or_node, v1::formula_lt_node, v1::formula_map_literal_node, v1::formula_member_node, v1::formula_minus_node, v1::formula_mod_node, v1::formula_mul_node, v1::formula_name_node, v1::formula_ne_node, v1::formula_plus_node, v1::formula_pow_node, v1::formula_shl_node, v1::formula_shr_node, v1::formula_sub_node, v1::formula_ternary_operator_node, and v1::formula_vector_literal_node.
|
inlinevirtual |
Evaluate an existing lvalue.
Reimplemented in v1::formula_index_node, v1::formula_member_node, and v1::formula_name_node.
|
inlinevirtual |
Evaluate an existing xvalue.
Reimplemented in v1::formula_name_node.
|
inlinevirtual |
Get the name of a formula_name_node.
Reimplemented in v1::formula_name_node.
|
inlinevirtual |
Get name and argument names from a function declaration.
This is only implemented on the formula_call_node.
Reimplemented in v1::formula_call_node.
|
inlinevirtual |
Resolve function and method pointers.
At all call-formulas resolve the function pointers from the parse_context.
Reimplemented in v1::formula_binary_operator_node, v1::formula_call_node, v1::formula_filter_node, v1::formula_map_literal_node, v1::formula_ternary_operator_node, v1::formula_unary_operator_node, and v1::formula_vector_literal_node.
|
inlinevirtual |
Resolve function and method pointers.
This is called on a name-formula or member-formula to set the function pointer.
Reimplemented in v1::formula_member_node, and v1::formula_name_node.