HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
hi::v1::formula_binary_operator_node Struct Reference
Inheritance diagram for hi::v1::formula_binary_operator_node:
hi::v1::formula_node hi::v1::formula_add_node hi::v1::formula_assign_node hi::v1::formula_bit_and_node hi::v1::formula_bit_or_node hi::v1::formula_bit_xor_node hi::v1::formula_div_node hi::v1::formula_eq_node hi::v1::formula_filter_node hi::v1::formula_ge_node hi::v1::formula_gt_node hi::v1::formula_index_node hi::v1::formula_inplace_add_node hi::v1::formula_inplace_and_node hi::v1::formula_inplace_div_node hi::v1::formula_inplace_mod_node hi::v1::formula_inplace_mul_node hi::v1::formula_inplace_or_node hi::v1::formula_inplace_shl_node hi::v1::formula_inplace_shr_node hi::v1::formula_inplace_sub_node hi::v1::formula_inplace_xor_node hi::v1::formula_le_node hi::v1::formula_logical_and_node hi::v1::formula_logical_or_node hi::v1::formula_lt_node hi::v1::formula_member_node hi::v1::formula_mod_node hi::v1::formula_mul_node hi::v1::formula_ne_node hi::v1::formula_pow_node hi::v1::formula_shl_node hi::v1::formula_shr_node hi::v1::formula_sub_node

Public Member Functions

 formula_binary_operator_node (size_t line_nr, size_t column_nr, std::unique_ptr< formula_node > lhs, std::unique_ptr< formula_node > rhs)
void post_process (formula_post_process_context &context) override
 Resolve function and method pointers.
std::string string () const noexcept override
Public Member Functions inherited from hi::v1::formula_node
 formula_node (formula_node const &)=delete
 formula_node (formula_node &&)=delete
formula_node & operator= (formula_node const &)=delete
formula_node & operator= (formula_node &&)=delete
 formula_node (size_t line_nr, size_t column_nr)
virtual void resolve_function_pointer (formula_post_process_context &context)
 Resolve function and method pointers.
virtual datum evaluate (formula_evaluation_context &context) const =0
 Evaluate an rvalue.
datum evaluate_without_output (formula_evaluation_context &context) const
virtual datumevaluate_lvalue (formula_evaluation_context &context) const
 Evaluate an existing lvalue.
virtual bool has_evaluate_xvalue () const
virtual datum const & evaluate_xvalue (formula_evaluation_context const &context) const
 Evaluate an existing xvalue.
virtual datumassign (formula_evaluation_context &context, datum const &rhs) const
 Assign to a non-existing or existing lvalue.
datumassign_without_output (formula_evaluation_context &context, datum const &rhs) const
virtual datum call (formula_evaluation_context &context, datum::vector_type const &arguments) const
 Call a function with a datum::vector as arguments.
virtual std::string get_name () const
 Get the name of a formula_name_node.
virtual std::vector< std::stringget_name_and_argument_names () const
 Get name and argument names from a function declaration.

Data Fields

std::unique_ptr< formula_node > lhs
std::unique_ptr< formula_node > rhs
Data Fields inherited from hi::v1::formula_node
size_t line_nr
size_t column_nr

Additional Inherited Members

Public Types inherited from hi::v1::formula_node
using formula_vector = std::vector<std::unique_ptr<formula_node>>

Member Function Documentation

◆ post_process()

void hi::v1::formula_binary_operator_node::post_process ( formula_post_process_context & context)
inlineoverridevirtual

Resolve function and method pointers.

At all call-formulas resolve the function pointers from the parse_context.

Reimplemented from hi::v1::formula_node.

Reimplemented in hi::v1::formula_filter_node.

◆ string()

std::string hi::v1::formula_binary_operator_node::string ( ) const
inlineoverridevirtualnoexcept

Implements hi::v1::formula_node.


The documentation for this struct was generated from the following file: