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

Public Member Functions

 skeleton_function_node (parse_location location, formula_post_process_context &context, std::unique_ptr< formula_node > function_declaration_expression) noexcept
 
bool append (std::unique_ptr< skeleton_node > x) noexcept override
 Append a template-piece to the current template.
 
void post_process (formula_post_process_context &context) override
 
datum evaluate (formula_evaluation_context &context) override
 Evaluate the template.
 
datum evaluate_call (formula_evaluation_context &context, datum::vector_type const &arguments)
 
std::string string () const noexcept override
 
- Public Member Functions inherited from v1::skeleton_node
 skeleton_node (parse_location location)
 
virtual bool should_left_align () const noexcept
 Should any spaces on the left side of a statement be removed?
 
virtual void left_align () noexcept
 Remove any trailing spaces or tabs after a new-line.
 
virtual bool found_elif (parse_location _location, std::unique_ptr< formula_node > expression) noexcept
 
virtual bool found_else (parse_location _location) noexcept
 
virtual bool found_while (parse_location _location, std::unique_ptr< formula_node > expression) noexcept
 
std::string evaluate_output (formula_evaluation_context &context)
 
std::string evaluate_output ()
 

Data Fields

std::string name
 
std::vector< std::stringargument_names
 
statement_vector children
 
formula_post_process_context::function_type super_function
 
- Data Fields inherited from v1::skeleton_node
parse_location location
 

Additional Inherited Members

- Public Types inherited from v1::skeleton_node
using statement_vector = typename std::vector<std::unique_ptr<skeleton_node>>
 
- Static Public Member Functions inherited from v1::skeleton_node
static void append_child (statement_vector &children, std::unique_ptr< skeleton_node > new_child)
 
static datum evaluate_formula_without_output (formula_evaluation_context &context, formula_node const &expression, parse_location const &location)
 
static datum evaluate_expression (formula_evaluation_context &context, formula_node const &expression, parse_location const &location)
 
static void post_process_expression (formula_post_process_context &context, formula_node &expression, parse_location const &location)
 
static datum evaluate_children (formula_evaluation_context &context, statement_vector const &children)
 

Member Function Documentation

◆ append()

bool v1::skeleton_function_node::append ( std::unique_ptr< skeleton_node > x)
inlineoverridevirtualnoexcept

Append a template-piece to the current template.

Reimplemented from v1::skeleton_node.

◆ evaluate()

datum v1::skeleton_function_node::evaluate ( formula_evaluation_context & context)
inlineoverridevirtual

Evaluate the template.

Text in the template is added to the context.output_text.

Parameters
contextData used by expressions inside the template statements. .output_text will contain textual data from the template.
Returns
datum::undefined when the skeleton_node generated textual data into context.output_text. datum::break when a #break statement was encountered. datum::continue when a #continue statement was encountered. Otherwise data returned from a #return statement.

Reimplemented from v1::skeleton_node.

◆ post_process()

void v1::skeleton_function_node::post_process ( formula_post_process_context & context)
inlineoverridevirtual

Reimplemented from v1::skeleton_node.

◆ string()

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

Reimplemented from v1::skeleton_node.


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