HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
v1::formula_call_node Struct Referencefinal
Inheritance diagram for v1::formula_call_node:
v1::formula_node

Public Member Functions

 formula_call_node (parse_location location, 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.
 
datum evaluate (formula_evaluation_context &context) const override
 Evaluate an rvalue.
 
std::vector< std::stringget_name_and_argument_names () const override
 Get name and argument names from a function declaration.
 
std::string string () const noexcept override
 
- Public Member Functions inherited from v1::formula_node
 formula_node (formula_node const &)=delete
 
 formula_node (formula_node &&)=delete
 
formula_nodeoperator= (formula_node const &)=delete
 
formula_nodeoperator= (formula_node &&)=delete
 
 formula_node (parse_location location)
 
virtual void resolve_function_pointer (formula_post_process_context &context)
 Resolve function and method pointers.
 
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.
 

Data Fields

std::unique_ptr< formula_nodelhs
 
formula_vector args
 
- Data Fields inherited from v1::formula_node
parse_location location
 

Additional Inherited Members

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

Member Function Documentation

◆ evaluate()

datum v1::formula_call_node::evaluate ( formula_evaluation_context & context) const
inlineoverridevirtual

Evaluate an rvalue.

Implements v1::formula_node.

◆ get_name_and_argument_names()

std::vector< std::string > v1::formula_call_node::get_name_and_argument_names ( ) const
inlineoverridevirtual

Get name and argument names from a function declaration.

This is only implemented on the formula_call_node.

Reimplemented from v1::formula_node.

◆ post_process()

void v1::formula_call_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 v1::formula_node.

◆ string()

std::string v1::formula_call_node::string ( ) const
inlineoverridevirtualnoexcept

Implements v1::formula_node.


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