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)
constexpr char const & operator* () const noexcept
constexpr bool atEOF () const noexcept
constexpr skeleton_parse_context & operator++ () noexcept
constexpr skeleton_parse_context & operator+= (ssize_t x) noexcept
constexpr bool starts_with (std::string_view text) const noexcept
constexpr bool starts_with_and_advance_over (std::string_view text) noexcept
constexpr bool advance_to (std::string_view text) noexcept
constexpr bool advance_over (std::string_view text) noexcept
constexpr std::unique_ptr< formula_node > parse_expression (std::string_view end_text)
constexpr std::unique_ptr< formula_node > parse_expression_and_advance_over (std::string_view end_text)
template<typename T, typename... Args>
constexpr void push (Args &&...args)
constexpr bool append (std::unique_ptr< skeleton_node > x) noexcept
template<typename T, typename... Args>
constexpr bool append (Args &&...args) noexcept
constexpr bool pop () noexcept
 Handle #end statement.
constexpr void start_of_text_segment (int back_track=0) noexcept
constexpr void end_of_text_segment ()
constexpr bool top_statement_is_do () const noexcept
constexpr bool found_elif (parse_location statement_location, std::unique_ptr< formula_node > expression) noexcept
constexpr bool found_else (parse_location statement_location) noexcept
constexpr bool found_while (parse_location statement_location, std::unique_ptr< formula_node > expression) noexcept
void include (parse_location statement_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 ( )
inlinenodiscardconstexprnoexcept

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: