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

Public Types

using filter_type = std::function<std::string(std::string_view)>
 
using filter_table = std::unordered_map<std::string, filter_type>
 
using function_type = std::function<datum(formula_evaluation_context&, datum::vector_type const&)>
 
using function_table = std::unordered_map<std::string, function_type>
 
using function_stack = std::vector<function_type>
 
using method_type = std::function<datum(formula_evaluation_context&, datum&, datum::vector_type const&)>
 
using method_table = std::unordered_map<std::string, method_type>
 

Public Member Functions

function_type get_function (std::string const &name) const noexcept
 
function_type set_function (std::string const &name, function_type func) noexcept
 
void push_super (function_type func) noexcept
 
void pop_super (void) noexcept
 
filter_type get_filter (std::string const &name) const noexcept
 
method_type get_method (std::string const &name) const noexcept
 

Data Fields

function_table functions = {}
 
function_stack super_stack = {}
 

Static Public Attributes

static auto global_functions
 
static auto global_methods
 
static auto global_filters = filter_table{{"id", make_identifier}, {"url", detail::url_encode}}
 

Field Documentation

◆ global_functions

auto hi::v1::formula_post_process_context::global_functions
inlinestatic
Initial value:
= function_table{
{"float", detail::function_float},
{"integer", detail::function_integer},
{"decimal", detail::function_decimal},
{"string", detail::function_string},
{"boolean", detail::function_boolean},
{"size", detail::function_size},
{"keys", detail::function_keys},
{"values", detail::function_values},
{"items", detail::function_items},
{"sort", detail::function_sort}}

◆ global_methods

auto hi::v1::formula_post_process_context::global_methods
inlinestatic
Initial value:
= method_table{
{"append", detail::method_append},
{"contains", detail::method_contains},
{"push", detail::method_append},
{"pop", detail::method_pop},
{"year", detail::method_year},
{"quarter", detail::method_quarter},
{"month", detail::method_month},
{"day", detail::method_day}}

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