HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
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_context & operator= (skeleton_parse_context const &other)=delete
 skeleton_parse_context (skeleton_parse_context &&other)=delete
skeleton_parse_context & operator= (skeleton_parse_context &&other)=delete
 skeleton_parse_context (std::filesystem::path const &path, const_iterator first, const_iterator last)
char const & operator* () const noexcept
bool atEOF () const noexcept
skeleton_parse_context & operator++ () noexcept
skeleton_parse_context & operator+= (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 ( )
nodiscardnoexcept

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: