HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Data Fields
v1::skeleton_parse_context Struct Reference

Public Types

using statement_stack_type = std::vector<std::unique_ptr<skeleton_node>>
 
using const_iterator = typename std::string_view::const_iterator
 

Public Member Functions

 skeleton_parse_context (skeleton_parse_context const &other)=delete
 
skeleton_parse_contextoperator= (skeleton_parse_context const &other)=delete
 
 skeleton_parse_context (skeleton_parse_context &&other)=delete
 
skeleton_parse_contextoperator= (skeleton_parse_context &&other)=delete
 
 skeleton_parse_context (std::filesystem::path const &path, const_iterator first, const_iterator last)
 
char constoperator* () const noexcept
 
bool atEOF () const noexcept
 
skeleton_parse_contextoperator++ () noexcept
 
skeleton_parse_contextoperator+= (ssize_t x) noexcept
 
bool starts_with (std::string_view text) const noexcept
 
bool starts_with_and_advance_over (std::string_view text) noexcept
 
bool advance_to (std::string_view text) noexcept
 
bool advance_over (std::string_view text) noexcept
 
std::unique_ptr< formula_nodeparse_expression (std::string_view end_text)
 
std::unique_ptr< formula_nodeparse_expression_and_advance_over (std::string_view end_text)
 
template<typename T , typename... Args>
void push (Args &&...args)
 
bool append (std::unique_ptr< skeleton_node > x) noexcept
 
template<typename T , typename... Args>
bool append (Args &&...args) noexcept
 
bool pop () noexcept
 Handle #end statement.
 
void start_of_text_segment (int back_track=0) noexcept
 
void end_of_text_segment ()
 
bool top_statement_is_do () const noexcept
 
bool found_elif (parse_location location, std::unique_ptr< formula_node > expression) noexcept
 
bool found_else (parse_location location) noexcept
 
bool found_while (parse_location location, std::unique_ptr< formula_node > expression) noexcept
 
void include (parse_location location, formula_node &expression)
 

Data Fields

statement_stack_type statement_stack
 
parse_location location
 
const_iterator index
 
const_iterator last
 
std::optional< const_iterator > text_segment_start
 
formula_post_process_context post_process_context
 Post process context is used to record functions that are defined in the template being parsed.
 

Member Function Documentation

◆ pop()

bool v1::skeleton_parse_context::pop ( )
noexcept

Handle #end statement.

This will pop the current statement of the stack and append it to the statement that is now at the top of the stack.

Field Documentation

◆ post_process_context

formula_post_process_context v1::skeleton_parse_context::post_process_context

Post process context is used to record functions that are defined in the template being parsed.


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