HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
v1::formula_name_node Struct Referencefinal
Inheritance diagram for v1::formula_name_node:
v1::formula_node

Public Member Functions

 formula_name_node (parse_location location, std::string_view name)
void resolve_function_pointer (formula_post_process_context &context) override
 Resolve function and method pointers.
datum evaluate (formula_evaluation_context &context) const override
 Evaluate an rvalue.
datumevaluate_lvalue (formula_evaluation_context &context) const override
 Evaluate an existing lvalue.
bool has_evaluate_xvalue () const override
datum const & evaluate_xvalue (formula_evaluation_context const &context) const override
 Evaluate an existing xvalue.
datumassign (formula_evaluation_context &context, datum const &rhs) const override
 Assign to a non-existing or existing lvalue.
datum call (formula_evaluation_context &context, datum::vector_type const &arguments) const override
 Call a function with a datum::vector as arguments.
std::string get_name () const noexcept override
 Get the name of a formula_name_node.
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_node & operator= (formula_node const &)=delete
formula_node & operator= (formula_node &&)=delete
 formula_node (parse_location location)
virtual void post_process (formula_post_process_context &context)
 Resolve function and method pointers.
datum evaluate_without_output (formula_evaluation_context &context) const
datumassign_without_output (formula_evaluation_context &context, datum const &rhs) const
virtual std::vector< std::stringget_name_and_argument_names () const
 Get name and argument names from a function declaration.

Data Fields

std::string name
formula_post_process_context::function_type function
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

◆ assign()

datum & v1::formula_name_node::assign ( formula_evaluation_context & context,
datum const & rhs ) const
inlineoverridevirtual

Assign to a non-existing or existing lvalue.

Reimplemented from v1::formula_node.

◆ call()

datum v1::formula_name_node::call ( formula_evaluation_context & context,
datum::vector_type const & arguments ) const
inlineoverridevirtual

Call a function with a datum::vector as arguments.

Reimplemented from v1::formula_node.

◆ evaluate()

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

Evaluate an rvalue.

Implements v1::formula_node.

◆ evaluate_lvalue()

datum & v1::formula_name_node::evaluate_lvalue ( formula_evaluation_context & context) const
inlineoverridevirtual

Evaluate an existing lvalue.

Reimplemented from v1::formula_node.

◆ evaluate_xvalue()

datum const & v1::formula_name_node::evaluate_xvalue ( formula_evaluation_context const & context) const
inlineoverridevirtual

Evaluate an existing xvalue.

Reimplemented from v1::formula_node.

◆ get_name()

std::string v1::formula_name_node::get_name ( ) const
inlineoverridevirtualnoexcept

Get the name of a formula_name_node.

Reimplemented from v1::formula_node.

◆ has_evaluate_xvalue()

bool v1::formula_name_node::has_evaluate_xvalue ( ) const
inlineoverridevirtual

Reimplemented from v1::formula_node.

◆ resolve_function_pointer()

void v1::formula_name_node::resolve_function_pointer ( formula_post_process_context & context)
inlineoverridevirtual

Resolve function and method pointers.

This is called on a name-formula or member-formula to set the function pointer.

Reimplemented from v1::formula_node.

◆ string()

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

Implements v1::formula_node.


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