SYMBOL INDEX (1572 symbols across 67 files) FILE: include/httplib.h function namespace (line 292) | namespace httplib { function scope_exit (line 330) | struct scope_exit { function release (line 344) | void release() { this->execute_on_destruction = false; } type Response (line 364) | struct Response type MultipartFormData (line 367) | struct MultipartFormData { function class (line 376) | class DataSink { type MultipartFormDataProvider (line 416) | struct MultipartFormDataProvider { function class (line 434) | class ContentReader { function const (line 449) | bool operator()(ContentReceiver receiver) const { type Request (line 460) | struct Request { type Response (line 512) | struct Response { function class (line 561) | class Stream { function ContentProviderWithoutLength (line 7336) | inline ContentProviderWithoutLength ClientImpl::get_multipart_content_pr... function process_socket (line 7378) | inline bool function Result (line 7388) | inline Result ClientImpl::Get(const std::string &path) { function Result (line 7392) | inline Result ClientImpl::Get(const std::string &path, Progress progress) { function Result (line 7396) | inline Result ClientImpl::Get(const std::string &path, const Headers &he... function Result (line 7400) | inline Result ClientImpl::Get(const std::string &path, const Headers &he... function Result (line 7411) | inline Result ClientImpl::Get(const std::string &path, function Result (line 7416) | inline Result ClientImpl::Get(const std::string &path, function Result (line 7423) | inline Result ClientImpl::Get(const std::string &path, const Headers &he... function Result (line 7428) | inline Result ClientImpl::Get(const std::string &path, const Headers &he... function Result (line 7435) | inline Result ClientImpl::Get(const std::string &path, function Result (line 7442) | inline Result ClientImpl::Get(const std::string &path, const Headers &he... function Result (line 7449) | inline Result ClientImpl::Get(const std::string &path, function Result (line 7457) | inline Result ClientImpl::Get(const std::string &path, const Headers &he... function Result (line 7476) | inline Result ClientImpl::Get(const std::string &path, const Params &par... function Result (line 7484) | inline Result ClientImpl::Get(const std::string &path, const Params &par... function Result (line 7491) | inline Result ClientImpl::Get(const std::string &path, const Params &par... function Result (line 7505) | inline Result ClientImpl::Head(const std::string &path) { function Result (line 7509) | inline Result ClientImpl::Head(const std::string &path, function Result (line 7519) | inline Result ClientImpl::Post(const std::string &path) { function Result (line 7523) | inline Result ClientImpl::Post(const std::string &path, function Result (line 7528) | inline Result ClientImpl::Post(const std::string &path, const char *body, function Result (line 7534) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7541) | inline Result ClientImpl::Post(const std::string &path, const std::strin... function Result (line 7546) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7554) | inline Result ClientImpl::Post(const std::string &path, const Params &pa... function Result (line 7558) | inline Result ClientImpl::Post(const std::string &path, size_t content_l... function Result (line 7565) | inline Result ClientImpl::Post(const std::string &path, function Result (line 7571) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7580) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7587) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7593) | inline Result ClientImpl::Post(const std::string &path, function Result (line 7598) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7607) | inline Result ClientImpl::Post(const std::string &path, const Headers &h... function Result (line 7620) | inline Result function Result (line 7633) | inline Result ClientImpl::Put(const std::string &path) { function Result (line 7637) | inline Result ClientImpl::Put(const std::string &path, const char *body, function Result (line 7643) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7650) | inline Result ClientImpl::Put(const std::string &path, const std::string... function Result (line 7655) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7663) | inline Result ClientImpl::Put(const std::string &path, size_t content_le... function Result (line 7670) | inline Result ClientImpl::Put(const std::string &path, function Result (line 7676) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7685) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7692) | inline Result ClientImpl::Put(const std::string &path, const Params &par... function Result (line 7696) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7702) | inline Result ClientImpl::Put(const std::string &path, function Result (line 7707) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7716) | inline Result ClientImpl::Put(const std::string &path, const Headers &he... function Result (line 7729) | inline Result function Result (line 7741) | inline Result ClientImpl::Patch(const std::string &path) { function Result (line 7745) | inline Result ClientImpl::Patch(const std::string &path, const char *body, function Result (line 7751) | inline Result ClientImpl::Patch(const std::string &path, const Headers &... function Result (line 7759) | inline Result ClientImpl::Patch(const std::string &path, function Result (line 7765) | inline Result ClientImpl::Patch(const std::string &path, const Headers &... function Result (line 7773) | inline Result ClientImpl::Patch(const std::string &path, size_t content_... function Result (line 7780) | inline Result ClientImpl::Patch(const std::string &path, function Result (line 7786) | inline Result ClientImpl::Patch(const std::string &path, const Headers &... function Result (line 7795) | inline Result ClientImpl::Patch(const std::string &path, const Headers &... function Result (line 7802) | inline Result ClientImpl::Delete(const std::string &path) { function Result (line 7806) | inline Result ClientImpl::Delete(const std::string &path, function Result (line 7811) | inline Result ClientImpl::Delete(const std::string &path, const char *body, function Result (line 7817) | inline Result ClientImpl::Delete(const std::string &path, function Result (line 7832) | inline Result ClientImpl::Delete(const std::string &path, function Result (line 7838) | inline Result ClientImpl::Delete(const std::string &path, function Result (line 7845) | inline Result ClientImpl::Options(const std::string &path) { function Result (line 7849) | inline Result ClientImpl::Options(const std::string &path, function stop (line 7859) | inline void ClientImpl::stop() { function set_connection_timeout (line 7893) | inline void ClientImpl::set_connection_timeout(time_t sec, time_t usec) { function set_read_timeout (line 7898) | inline void ClientImpl::set_read_timeout(time_t sec, time_t usec) { function set_write_timeout (line 7903) | inline void ClientImpl::set_write_timeout(time_t sec, time_t usec) { function set_basic_auth (line 7908) | inline void ClientImpl::set_basic_auth(const std::string &username, function set_bearer_token_auth (line 7914) | inline void ClientImpl::set_bearer_token_auth(const std::string &token) { function set_digest_auth (line 7919) | inline void ClientImpl::set_digest_auth(const std::string &username, function set_keep_alive (line 7926) | inline void ClientImpl::set_keep_alive(bool on) { keep_alive_ = on; } function set_follow_location (line 7928) | inline void ClientImpl::set_follow_location(bool on) { follow_location_ ... function set_url_encode (line 7930) | inline void ClientImpl::set_url_encode(bool on) { url_encode_ = on; } function set_hostname_addr_map (line 7932) | inline void function set_default_headers (line 7937) | inline void ClientImpl::set_default_headers(Headers headers) { function set_header_writer (line 7941) | inline void ClientImpl::set_header_writer( function set_address_family (line 7946) | inline void ClientImpl::set_address_family(int family) { function set_tcp_nodelay (line 7950) | inline void ClientImpl::set_tcp_nodelay(bool on) { tcp_nodelay_ = on; } function set_socket_options (line 7952) | inline void ClientImpl::set_socket_options(SocketOptions socket_options) { function set_compress (line 7956) | inline void ClientImpl::set_compress(bool on) { compress_ = on; } function set_decompress (line 7958) | inline void ClientImpl::set_decompress(bool on) { decompress_ = on; } function set_interface (line 7960) | inline void ClientImpl::set_interface(const std::string &intf) { function set_proxy (line 7964) | inline void ClientImpl::set_proxy(const std::string &host, int port) { function set_proxy_basic_auth (line 7969) | inline void ClientImpl::set_proxy_basic_auth(const std::string &username, function set_proxy_bearer_token_auth (line 7975) | inline void ClientImpl::set_proxy_bearer_token_auth(const std::string &t... function set_proxy_digest_auth (line 7980) | inline void ClientImpl::set_proxy_digest_auth(const std::string &username, function set_ca_cert_path (line 7986) | inline void ClientImpl::set_ca_cert_path(const std::string &ca_cert_file... function set_ca_cert_store (line 7992) | inline void ClientImpl::set_ca_cert_store(X509_STORE *ca_cert_store) { function X509_STORE (line 7998) | inline X509_STORE *ClientImpl::create_ca_cert_store(const char *ca_cert, function enable_server_certificate_verification (line 8025) | inline void ClientImpl::enable_server_certificate_verification(bool enab... function set_logger (line 8030) | inline void ClientImpl::set_logger(Logger logger) { function namespace (line 8038) | namespace detail { function SSLSocketStream (line 8151) | inline SSLSocketStream::~SSLSocketStream() {} function is_readable (line 8153) | inline bool SSLSocketStream::is_readable() const { function write (line 8194) | inline ssize_t SSLSocketStream::write(const char *ptr, size_t size) { function SSLServer (line 8242) | inline SSLServer::SSLServer(const char *cert_path, const char *private_k... function SSLServer (line 8277) | inline SSLServer::SSLServer(X509 *cert, EVP_PKEY *private_key, function SSLServer (line 8301) | inline SSLServer::SSLServer( function SSLServer (line 8312) | inline SSLServer::~SSLServer() { function SSL_CTX (line 8318) | inline SSL_CTX *SSLServer::ssl_context() const { return ctx_; } function process_and_close_socket (line 8320) | inline bool SSLServer::process_and_close_socket(socket_t sock) { function SSLClient (line 8353) | inline SSLClient::SSLClient(const std::string &host) function SSLClient (line 8356) | inline SSLClient::SSLClient(const std::string &host, int port) function SSLClient (line 8359) | inline SSLClient::SSLClient(const std::string &host, int port, function SSLClient (line 8381) | inline SSLClient::SSLClient(const std::string &host, int port, function SSLClient (line 8400) | inline SSLClient::~SSLClient() { function set_ca_cert_store (line 8410) | inline void SSLClient::set_ca_cert_store(X509_STORE *ca_cert_store) { function load_ca_cert_store (line 8423) | inline void SSLClient::load_ca_cert_store(const char *ca_cert, function SSL_CTX (line 8432) | inline SSL_CTX *SSLClient::ssl_context() const { return ctx_; } function create_and_connect_socket (line 8434) | inline bool SSLClient::create_and_connect_socket(Socket &socket, Error &... function connect_with_proxy (line 8439) | inline bool SSLClient::connect_with_proxy(Socket &socket, Response &res, function load_certs (line 8507) | inline bool SSLClient::load_certs() { function initialize_ssl (line 8539) | inline bool SSLClient::initialize_ssl(Socket &socket, Error &error) { function shutdown_ssl (line 8602) | inline void SSLClient::shutdown_ssl(Socket &socket, bool shutdown_gracef... function shutdown_ssl_impl (line 8606) | inline void SSLClient::shutdown_ssl_impl(Socket &socket, function process_socket (line 8619) | inline bool function verify_host (line 8630) | inline bool SSLClient::verify_host(X509 *server_cert) const { function verify_host_with_subject_alt_name (line 8656) | inline bool function verify_host_with_common_name (line 8713) | inline bool SSLClient::verify_host_with_common_name(X509 *server_cert) c... function check_host_name (line 8729) | inline bool SSLClient::check_host_name(const char *pattern, FILE: include/inja.hpp type inja (line 30) | namespace inja { class FunctionStorage (line 105) | class FunctionStorage { type Operation (line 107) | enum class Operation { type FunctionData (line 157) | struct FunctionData { method FunctionData (line 158) | explicit FunctionData(const Operation& op, const CallbackFunction&... method add_builtin (line 199) | void add_builtin(std::string_view name, int num_args, Operation op) { method add_callback (line 203) | void add_callback(std::string_view name, int num_args, const Callbac... method FunctionData (line 207) | FunctionData find_function(std::string_view name, int num_args) const { method FunctionData (line 158) | explicit FunctionData(const Operation& op, const CallbackFunction&... type SourceLocation (line 247) | struct SourceLocation { type InjaError (line 252) | struct InjaError : public std::runtime_error { method InjaError (line 258) | explicit InjaError(const std::string& type, const std::string& message) method InjaError (line 261) | explicit InjaError(const std::string& type, const std::string& messa... type ParserError (line 266) | struct ParserError : public InjaError { method ParserError (line 267) | explicit ParserError(const std::string& message, SourceLocation loca... type RenderError (line 270) | struct RenderError : public InjaError { method RenderError (line 271) | explicit RenderError(const std::string& message, SourceLocation loca... type FileError (line 274) | struct FileError : public InjaError { method FileError (line 275) | explicit FileError(const std::string& message): InjaError("file_erro... method FileError (line 276) | explicit FileError(const std::string& message, SourceLocation locati... type DataError (line 279) | struct DataError : public InjaError { method DataError (line 280) | explicit DataError(const std::string& message, SourceLocation locati... type string_view (line 290) | namespace string_view { function slice (line 291) | inline std::string_view slice(std::string_view view, size_t start, s... function split (line 297) | inline std::pair split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function split(std::stri... function starts_with (line 305) | inline bool starts_with(std::string_view view, std::string_view pref... function SourceLocation (line 310) | inline SourceLocation get_source_location(std::string_view content, si... function replace_substring (line 333) | inline void replace_substring(std::string& s, const std::string& f, co... class NodeVisitor (line 351) | class NodeVisitor class BlockNode (line 352) | class BlockNode method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 353) | class TextNode method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 354) | class ExpressionNode method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 355) | class LiteralNode method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 356) | class DataNode method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 357) | class FunctionNode type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 358) | class ExpressionListNode method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 359) | class StatementNode method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 360) | class ForStatementNode method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 361) | class ForArrayStatementNode method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 362) | class ForObjectStatementNode method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 363) | class IfStatementNode method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 364) | class IncludeStatementNode method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 365) | class ExtendsStatementNode method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 366) | class BlockStatementNode method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 367) | class SetStatementNode method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class NodeVisitor (line 369) | class NodeVisitor { class AstNode (line 394) | class AstNode { method AstNode (line 400) | AstNode(size_t pos): pos(pos) {} class BlockNode (line 404) | class BlockNode : public AstNode { method BlockNode (line 408) | explicit BlockNode(): AstNode(0) {} method accept (line 410) | void accept(NodeVisitor& v) const { class TextNode (line 415) | class TextNode : public AstNode { method TextNode (line 419) | explicit TextNode(size_t pos, size_t length): AstNode(pos), length(l... method accept (line 421) | void accept(NodeVisitor& v) const { class ExpressionNode (line 426) | class ExpressionNode : public AstNode { method ExpressionNode (line 428) | explicit ExpressionNode(size_t pos): AstNode(pos) {} method accept (line 430) | void accept(NodeVisitor& v) const { class LiteralNode (line 435) | class LiteralNode : public ExpressionNode { method LiteralNode (line 439) | explicit LiteralNode(std::string_view data_text, size_t pos): Expres... method accept (line 441) | void accept(NodeVisitor& v) const { class DataNode (line 446) | class DataNode : public ExpressionNode { method convert_dot_to_ptr (line 451) | static std::string convert_dot_to_ptr(std::string_view ptr_name) { method DataNode (line 462) | explicit DataNode(std::string_view ptr_name, size_t pos): Expression... method accept (line 464) | void accept(NodeVisitor& v) const { class FunctionNode (line 469) | class FunctionNode : public ExpressionNode { type Associativity (line 473) | enum class Associativity { method FunctionNode (line 488) | explicit FunctionNode(std::string_view name, size_t pos) method FunctionNode (line 490) | explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos)... method accept (line 584) | void accept(NodeVisitor& v) const { class ExpressionListNode (line 589) | class ExpressionListNode : public AstNode { method ExpressionListNode (line 593) | explicit ExpressionListNode(): AstNode(0) {} method ExpressionListNode (line 594) | explicit ExpressionListNode(size_t pos): AstNode(pos) {} method accept (line 596) | void accept(NodeVisitor& v) const { class StatementNode (line 601) | class StatementNode : public AstNode { method StatementNode (line 603) | StatementNode(size_t pos): AstNode(pos) {} class ForStatementNode (line 608) | class ForStatementNode : public StatementNode { method ForStatementNode (line 614) | ForStatementNode(BlockNode* const parent, size_t pos): StatementNode... class ForArrayStatementNode (line 619) | class ForArrayStatementNode : public ForStatementNode { method ForArrayStatementNode (line 623) | explicit ForArrayStatementNode(const std::string& value, BlockNode* ... method accept (line 625) | void accept(NodeVisitor& v) const { class ForObjectStatementNode (line 630) | class ForObjectStatementNode : public ForStatementNode { method ForObjectStatementNode (line 635) | explicit ForObjectStatementNode(const std::string& key, const std::s... method accept (line 638) | void accept(NodeVisitor& v) const { class IfStatementNode (line 643) | class IfStatementNode : public StatementNode { method IfStatementNode (line 653) | explicit IfStatementNode(BlockNode* const parent, size_t pos): State... method IfStatementNode (line 654) | explicit IfStatementNode(bool is_nested, BlockNode* const parent, si... method accept (line 656) | void accept(NodeVisitor& v) const { class IncludeStatementNode (line 661) | class IncludeStatementNode : public StatementNode { method IncludeStatementNode (line 665) | explicit IncludeStatementNode(const std::string& file, size_t pos): ... method accept (line 667) | void accept(NodeVisitor& v) const { class ExtendsStatementNode (line 672) | class ExtendsStatementNode : public StatementNode { method ExtendsStatementNode (line 676) | explicit ExtendsStatementNode(const std::string& file, size_t pos): ... method accept (line 678) | void accept(NodeVisitor& v) const { class BlockStatementNode (line 683) | class BlockStatementNode : public StatementNode { method BlockStatementNode (line 689) | explicit BlockStatementNode(BlockNode* const parent, const std::stri... method accept (line 691) | void accept(NodeVisitor& v) const { class SetStatementNode (line 696) | class SetStatementNode : public StatementNode { method SetStatementNode (line 701) | explicit SetStatementNode(const std::string& key, size_t pos): State... method accept (line 703) | void accept(NodeVisitor& v) const { class StatisticsVisitor (line 724) | class StatisticsVisitor : public NodeVisitor { method visit (line 725) | void visit(const BlockNode& node) { method visit (line 731) | void visit(const TextNode&) {} method visit (line 732) | void visit(const ExpressionNode&) {} method visit (line 733) | void visit(const LiteralNode&) {} method visit (line 735) | void visit(const DataNode&) { method visit (line 739) | void visit(const FunctionNode& node) { method visit (line 745) | void visit(const ExpressionListNode& node) { method visit (line 749) | void visit(const StatementNode&) {} method visit (line 750) | void visit(const ForStatementNode&) {} method visit (line 752) | void visit(const ForArrayStatementNode& node) { method visit (line 757) | void visit(const ForObjectStatementNode& node) { method visit (line 762) | void visit(const IfStatementNode& node) { method visit (line 768) | void visit(const IncludeStatementNode&) {} method visit (line 770) | void visit(const ExtendsStatementNode&) {} method visit (line 772) | void visit(const BlockStatementNode& node) { method visit (line 776) | void visit(const SetStatementNode&) {} method StatisticsVisitor (line 781) | explicit StatisticsVisitor(): variable_counter(0) {} type Template (line 794) | struct Template { method Template (line 799) | explicit Template() {} method Template (line 800) | explicit Template(const std::string& content): content(content) {} method count_variables (line 803) | int count_variables() { type LexerConfig (line 822) | struct LexerConfig { method update_open_chars (line 842) | void update_open_chars() { type ParserConfig (line 874) | struct ParserConfig { type RenderConfig (line 883) | struct RenderConfig { type Token (line 930) | struct Token { type Kind (line 931) | enum class Kind { method Token (line 972) | explicit constexpr Token() = default; method Token (line 973) | explicit constexpr Token(Kind kind, std::string_view text): kind(kin... method describe (line 975) | std::string describe() const { class Lexer (line 1001) | class Lexer { type State (line 1002) | enum class State { type MinusState (line 1018) | enum class MinusState { method Token (line 1031) | Token scan_body(std::string_view close, Token::Kind closeKind, std::... method Token (line 1164) | Token scan_id() { method Token (line 1178) | Token scan_number() { method Token (line 1193) | Token scan_string() { method Token (line 1211) | Token make_token(Token::Kind kind) const { method skip_whitespaces_and_newlines (line 1215) | void skip_whitespaces_and_newlines() { method skip_whitespaces_and_first_newline (line 1223) | void skip_whitespaces_and_first_newline() { method clear_final_line_if_whitespace (line 1243) | static std::string_view clear_final_line_if_whitespace(std::string_v... method Lexer (line 1259) | explicit Lexer(const LexerConfig& config): config(config), state(Sta... method SourceLocation (line 1261) | SourceLocation current_position() const { method start (line 1265) | void start(std::string_view input) { method Token (line 1278) | Token scan() { method LexerConfig (line 1413) | const LexerConfig& get_config() const { class Parser (line 1436) | class Parser { method throw_parser_error (line 1458) | inline void throw_parser_error(const std::string& message) const { method get_next_token (line 1462) | inline void get_next_token() { method get_peek_token (line 1471) | inline void get_peek_token() { method add_literal (line 1478) | inline void add_literal(Arguments &arguments, const char* content_pt... method add_operator (line 1483) | inline void add_operator(Arguments &arguments, OperatorStack &operat... method add_to_template_storage (line 1498) | void add_to_template_storage(std::string_view path, std::string& tem... method parse_filename (line 1537) | std::string parse_filename() const { method parse_expression (line 1550) | bool parse_expression(Template& tmpl, Token::Kind closing) { method parse_expression (line 1555) | std::shared_ptr parse_expression(Template& tmpl) { method parse_statement (line 1783) | bool parse_statement(Template& tmpl, Token::Kind closing, std::strin... method parse_into (line 1969) | void parse_into(Template& tmpl, std::string_view path) { method Parser (line 2031) | explicit Parser(const ParserConfig& parser_config, const LexerConfig... method Template (line 2035) | Template parse(std::string_view input, std::string_view path) { method parse_into_template (line 2041) | void parse_into_template(Template& tmpl, std::string_view filename) { method load_file (line 2049) | static std::string load_file(const std::string& filename) { class Renderer (line 2090) | class Renderer : public NodeVisitor { method truthy (line 2114) | static bool truthy(const json* data) { method print_data (line 2125) | void print_data(const std::shared_ptr value) { method eval_expression_list (line 2138) | const std::shared_ptr eval_expression_list(const ExpressionLis... method throw_renderer_error (line 2167) | void throw_renderer_error(const std::string& message, const AstNode&... method make_result (line 2172) | void make_result(const json&& result) { method get_arguments (line 2178) | std::array get_arguments(const FunctionNode& node) { method Arguments (line 2208) | Arguments get_argument_vector(const FunctionNode& node) { method visit (line 2235) | void visit(const BlockNode& node) { method visit (line 2245) | void visit(const TextNode& node) { method visit (line 2249) | void visit(const ExpressionNode&) {} method visit (line 2251) | void visit(const LiteralNode& node) { method visit (line 2255) | void visit(const DataNode& node) { method visit (line 2275) | void visit(const FunctionNode& node) { method visit (line 2543) | void visit(const ExpressionListNode& node) { method visit (line 2547) | void visit(const StatementNode&) {} method visit (line 2549) | void visit(const ForStatementNode&) {} method visit (line 2551) | void visit(const ForArrayStatementNode& node) { method visit (line 2590) | void visit(const ForObjectStatementNode& node) { method visit (line 2629) | void visit(const IfStatementNode& node) { method visit (line 2638) | void visit(const IncludeStatementNode& node) { method visit (line 2648) | void visit(const ExtendsStatementNode& node) { method visit (line 2659) | void visit(const BlockStatementNode& node) { method visit (line 2673) | void visit(const SetStatementNode& node) { method Renderer (line 2681) | Renderer(const RenderConfig& config, const TemplateStorage& template... method render_to (line 2684) | void render_to(std::ostream& os, const Template& tmpl, const json& d... class Environment (line 2714) | class Environment { method Environment (line 2727) | Environment(): Environment("") {} method Environment (line 2729) | explicit Environment(const std::string& global_path): input_path(glo... method Environment (line 2731) | Environment(const std::string& input_path, const std::string& output... method set_statement (line 2734) | void set_statement(const std::string& open, const std::string& close) { method set_line_statement (line 2744) | void set_line_statement(const std::string& open) { method set_expression (line 2750) | void set_expression(const std::string& open, const std::string& clos... method set_comment (line 2759) | void set_comment(const std::string& open, const std::string& close) { method set_trim_blocks (line 2768) | void set_trim_blocks(bool trim_blocks) { method set_lstrip_blocks (line 2773) | void set_lstrip_blocks(bool lstrip_blocks) { method set_search_included_templates_in_files (line 2778) | void set_search_included_templates_in_files(bool search_in_files) { method set_throw_at_missing_includes (line 2783) | void set_throw_at_missing_includes(bool will_throw) { method Template (line 2787) | Template parse(std::string_view input) { method Template (line 2792) | Template parse_template(const std::string& filename) { method Template (line 2799) | Template parse_file(const std::string& filename) { method render (line 2803) | std::string render(std::string_view input, const json& data) { method render (line 2807) | std::string render(const Template& tmpl, const json& data) { method render_file (line 2813) | std::string render_file(const std::string& filename, const json& dat... method render_file_with_json_file (line 2817) | std::string render_file_with_json_file(const std::string& filename, ... method write (line 2822) | void write(const std::string& filename, const json& data, const std:... method write (line 2828) | void write(const Template& temp, const json& data, const std::string... method write_with_json_file (line 2834) | void write_with_json_file(const std::string& filename, const std::st... method write_with_json_file (line 2839) | void write_with_json_file(const Template& temp, const std::string& f... method load_file (line 2849) | std::string load_file(const std::string& filename) { method json (line 2854) | json load_json(const std::string& filename) { method add_callback (line 2867) | void add_callback(const std::string& name, const CallbackFunction& c... method add_void_callback (line 2874) | void add_void_callback(const std::string& name, const VoidCallbackFu... method add_callback (line 2881) | void add_callback(const std::string& name, int num_args, const Callb... method add_void_callback (line 2888) | void add_void_callback(const std::string& name, int num_args, const ... method include_template (line 2899) | void include_template(const std::string& name, const Template& tmpl) { method set_include_callback (line 2906) | void set_include_callback(const std::function (line 168) | struct EnableIf{typedef T Type;} type IsSame (line 171) | struct IsSame{ static const bool value = false; } type IsSame (line 173) | struct IsSame{ static const bool value = true; } function jassert (line 182) | static inline void jassert(bool cond, const char* msg, const char* f, si... function _jvassert (line 189) | static inline void _jvassert(bool cond, char const * name, const char* f... function _tostdstring (line 201) | static inline std::string _tostdstring(unsigned x){ type Pcre2Type (line 212) | struct Pcre2Type type Pcre2Func (line 213) | struct Pcre2Func type Pcre2Type (line 217) | struct Pcre2Type {} type Pcre2Type<8> (line 219) | struct Pcre2Type<8>{ type Pcre2Type<16> (line 232) | struct Pcre2Type<16>{ type Pcre2Type<32> (line 245) | struct Pcre2Type<32>{ type Pcre2Func (line 259) | struct Pcre2Func{} type Pcre2Func<8> (line 262) | struct Pcre2Func<8> { method compile_context_free (line 266) | static void compile_context_free(Pcre2Type<8>::CompileContext *ccontext){ method set_character_tables (line 275) | static int set_character_tables(Pcre2Type<8>::CompileContext * ccontex... method jit_compile (line 286) | static int jit_compile(Pcre2Type<8>::Pcre2Code *code, uint32_t options){ method substitute (line 289) | static int substitute( const Pcre2Type<8>::Pcre2Code *code, method code_free (line 321) | static void code_free(Pcre2Type<8>::Pcre2Code *code){ method get_error_message (line 324) | static int get_error_message( int errorcode, method match (line 335) | static int match( const Pcre2Type<8>::Pcre2Code *code, method match_data_free (line 344) | static void match_data_free(Pcre2Type<8>::MatchData *match_data){ method PCRE2_SIZE (line 347) | static PCRE2_SIZE * get_ovector_pointer(Pcre2Type<8>::MatchData *match... method pattern_info (line 350) | static int pattern_info(const Pcre2Type<8>::Pcre2Code *code, uint32_t ... method set_newline (line 353) | static int set_newline(Pcre2Type<8>::CompileContext *ccontext, uint32_... method get_ovector_count (line 380) | static uint32_t get_ovector_count(Pcre2Type<8>::MatchData *match_data){ type Pcre2Func<16> (line 386) | struct Pcre2Func<16> { method compile_context_free (line 390) | static void compile_context_free(Pcre2Type<16>::CompileContext *cconte... method set_character_tables (line 399) | static int set_character_tables(Pcre2Type<16>::CompileContext * cconte... method jit_compile (line 410) | static int jit_compile(Pcre2Type<16>::Pcre2Code *code, uint32_t options){ method substitute (line 413) | static int substitute( const Pcre2Type<16>::Pcre2Code *code, method code_free (line 445) | static void code_free(Pcre2Type<16>::Pcre2Code *code){ method get_error_message (line 448) | static int get_error_message( int errorcode, method match (line 459) | static int match( const Pcre2Type<16>::Pcre2Code *code, method match_data_free (line 468) | static void match_data_free(Pcre2Type<16>::MatchData *match_data){ method PCRE2_SIZE (line 471) | static PCRE2_SIZE * get_ovector_pointer(Pcre2Type<16>::MatchData *matc... method pattern_info (line 474) | static int pattern_info(const Pcre2Type<16>::Pcre2Code *code, uint32_t... method set_newline (line 477) | static int set_newline(Pcre2Type<16>::CompileContext *ccontext, uint32... method get_ovector_count (line 504) | static uint32_t get_ovector_count(Pcre2Type<16>::MatchData *match_data){ type Pcre2Func<32> (line 510) | struct Pcre2Func<32> { method compile_context_free (line 514) | static void compile_context_free(Pcre2Type<32>::CompileContext *cconte... method set_character_tables (line 523) | static int set_character_tables(Pcre2Type<32>::CompileContext * cconte... method jit_compile (line 534) | static int jit_compile(Pcre2Type<32>::Pcre2Code *code, uint32_t options){ method substitute (line 537) | static int substitute( const Pcre2Type<32>::Pcre2Code *code, method code_free (line 569) | static void code_free(Pcre2Type<32>::Pcre2Code *code){ method get_error_message (line 572) | static int get_error_message( int errorcode, method match (line 583) | static int match( const Pcre2Type<32>::Pcre2Code *code, method match_data_free (line 592) | static void match_data_free(Pcre2Type<32>::MatchData *match_data){ method PCRE2_SIZE (line 595) | static PCRE2_SIZE * get_ovector_pointer(Pcre2Type<32>::MatchData *matc... method pattern_info (line 598) | static int pattern_info(const Pcre2Type<32>::Pcre2Code *code, uint32_t... method set_newline (line 601) | static int set_newline(Pcre2Type<32>::CompileContext *ccontext, uint32... method get_ovector_count (line 628) | static uint32_t get_ovector_count(Pcre2Type<32>::MatchData *match_data){ class Modifier (line 640) | class Modifier{ method Modifier (line 645) | Modifier(){} method Modifier (line 649) | Modifier(std::string const& x):mod(x){} method Modifier (line 653) | Modifier(char const *x):mod(x?x:""){} method str (line 657) | std::string str() const { return mod; } method SIZE_T (line 665) | SIZE_T length() const{ return mod.length(); } type MOD (line 678) | namespace MOD { function toOption (line 739) | static inline void toOption(Modifier const& mod, bool x, function toMatchOption (line 774) | static inline void toMatchOption(Modifier const& mod, bool x, Uint* po... function toReplaceOption (line 781) | static inline void toReplaceOption(Modifier const& mod, bool x, Uint* ... function toCompileOption (line 788) | static inline void toCompileOption(Modifier const& mod, bool x, Uint* ... function fromOption (line 795) | static inline std::string fromOption(Uint const * J_V, char const * J_... function fromMatchOption (line 815) | static inline std::string fromMatchOption(Uint po, Uint jo){ function fromReplaceOption (line 821) | static inline std::string fromReplaceOption(Uint po, Uint jo){ function fromCompileOption (line 827) | static inline std::string fromCompileOption(Uint po, Uint jo){ class ModifierTable (line 838) | class ModifierTable{ method toOption (line 853) | void toOption(Modifier const& mod, bool x, method fromOption (line 869) | std::string fromOption(VecOpt const& J_V, std::string const& J_N, method ModifierTable (line 887) | ModifierTable(){} method ModifierTable (line 891) | ModifierTable(bool deflt){ method ModifierTable (line 897) | ModifierTable& resetMatchModifierTable(){ method ModifierTable (line 907) | ModifierTable& resetReplaceModifierTable(){ method ModifierTable (line 917) | ModifierTable& resetCompileModifierTable(){ method ModifierTable (line 927) | ModifierTable& reset(){ method ModifierTable (line 937) | ModifierTable& clearMatchModifierTable(){ method ModifierTable (line 948) | ModifierTable& clearReplaceModifierTable(){ method ModifierTable (line 959) | ModifierTable& clearCompileModifierTable(){ method ModifierTable (line 970) | ModifierTable& clear(){ method toMatchOption (line 984) | void toMatchOption(Modifier const& mod, bool x, Uint* po, Uint* jo, in... method toReplaceOption (line 995) | void toReplaceOption(Modifier const& mod, bool x, Uint* po, Uint* jo, ... method toCompileOption (line 1006) | void toCompileOption(Modifier const& mod, bool x, Uint* po, Uint* jo, ... method fromMatchOption (line 1014) | std::string fromMatchOption(Uint po, Uint jo) const { method fromReplaceOption (line 1022) | std::string fromReplaceOption(Uint po, Uint jo) const { method fromCompileOption (line 1030) | std::string fromCompileOption(Uint po, Uint jo) const { method ModifierTable (line 1039) | ModifierTable& setMatchModifierTable(std::string const& tabs, VecOpt c... method ModifierTable (line 1049) | ModifierTable& setMatchModifierTable(std::string const& tabs, const Ui... method ModifierTable (line 1065) | ModifierTable& setMatchModifierTable(const char* tabsp, const Uint* ta... method ModifierTable (line 1079) | ModifierTable& setReplaceModifierTable(std::string const& tabs, VecOpt... method ModifierTable (line 1089) | ModifierTable& setReplaceModifierTable(std::string const& tabs, const ... method ModifierTable (line 1105) | ModifierTable& setReplaceModifierTable(const char* tabsp, const Uint* ... method ModifierTable (line 1119) | ModifierTable& setCompileModifierTable(std::string const& tabs, VecOpt... method ModifierTable (line 1129) | ModifierTable& setCompileModifierTable(std::string const& tabs, const ... method ModifierTable (line 1145) | ModifierTable& setCompileModifierTable(const char* tabsp, const Uint* ... method ModifierTable (line 1156) | ModifierTable& setMatchModifierTableToDefault(){ method ModifierTable (line 1166) | ModifierTable& setReplaceModifierTableToDefault(){ method ModifierTable (line 1176) | ModifierTable& setCompileModifierTableToDefault(){ method ModifierTable (line 1186) | ModifierTable& setAllToDefault(){ type MSG (line 1197) | struct MSG{ type select (line 1244) | struct select{ class Map (line 1263) | class Map class Map (line 1265) | class Map method String (line 1308) | static String toString(Char a){ method String (line 1317) | static String toString(Char const *a){ method String (line 1326) | static String toString(Char* a){ method String (line 1335) | static String toString(Pcre2Uchar* a) { method String (line 1342) | static String getPcre2ErrorMessage(int err_num) { method String (line 1352) | static String getErrorMessage(int err_num, int err_off) { class Regex (line 1363) | class Regex method init_vars (line 3583) | void init_vars() { method freeRegexMemory (line 3594) | void freeRegexMemory(void) { method freeCompileContext (line 3599) | void freeCompileContext(){ method onlyCopy (line 3604) | void onlyCopy(Regex const &r){ method deepCopy (line 3616) | void deepCopy(Regex const &r) { method deepMove (line 3638) | void deepMove(Regex& r) { method Regex (line 3668) | Regex() { method Regex (line 3674) | Regex(String const &re) { method Regex (line 3681) | Regex(String const *re) { method Regex (line 3689) | Regex(String const &re, Modifier const& mod) { method Regex (line 3697) | Regex(String const *re, Modifier const& mod) { method Regex (line 3705) | Regex(String const &re, Uint po) { method Regex (line 3713) | Regex(String const *re, Uint po) { method Regex (line 3722) | Regex(String const &re, Uint po, Uint jo) { method Regex (line 3731) | Regex(String const *re, Uint po, Uint jo) { method Regex (line 3742) | Regex(Regex const &r) { method Regex (line 3750) | Regex& operator=(Regex const &r) { method Regex (line 3767) | Regex(Regex&& r) { method Regex (line 3780) | Regex& operator=(Regex&& r) { method Regex (line 3849) | Regex& reset() { method Regex (line 3859) | Regex& clear() { method Regex (line 3871) | Regex& resetErrors() { method Regex (line 3884) | Regex& resetCharacterTables() { method Pcre2Code (line 3896) | Pcre2Code const* getPcre2Code() const{ method String (line 3902) | String getPattern() const { method String (line 3908) | String const * getPatternPointer() const { method Uint (line 3914) | Uint getNumCaptures() { method getModifier (line 3934) | std::string getModifier() const { method Uint (line 3943) | Uint getPcre2Option() const { method Uint (line 3951) | Uint getJpcre2Option() const { method getErrorNumber (line 3957) | int getErrorNumber() const { method getErrorOffset (line 3963) | int getErrorOffset() const { method String (line 3969) | String getErrorMessage() const { method Uint (line 3986) | Uint getNewLine() { method ModifierTable (line 3996) | ModifierTable const* getModifierTable(){ method Regex (line 4011) | Regex& setNewLine(Uint value){ method Regex (line 4022) | Regex& setPattern(String const &re) { method Regex (line 4031) | Regex& setPattern(String const *re) { method Regex (line 4047) | Regex& setModifier(Modifier const& x) { method Regex (line 4056) | Regex& setModifierTable(ModifierTable const * mdt){ method Regex (line 4066) | Regex& setJpcre2Option(Uint x) { method Regex (line 4076) | Regex& setPcre2Option(Uint x) { method Regex (line 4093) | Regex& changeModifier(Modifier const& mod, bool x){ method Regex (line 4105) | Regex& changeJpcre2Option(Uint opt, bool x) { method Regex (line 4116) | Regex& changePcre2Option(Uint opt, bool x) { method Regex (line 4128) | Regex& addModifier(Modifier const& mod){ method Regex (line 4137) | Regex& addJpcre2Option(Uint x) { method Regex (line 4147) | Regex& addPcre2Option(Uint x) { method compile (line 4165) | void compile(String const &re, Uint po, Uint jo) { method compile (line 4175) | void compile(String const *re, Uint po, Uint jo) { method compile (line 4183) | void compile(String const &re, Uint po) { method compile (line 4191) | void compile(String const *re, Uint po) { method compile (line 4199) | void compile(String const &re, Modifier const& mod) { method compile (line 4207) | void compile(String const *re, Modifier const& mod) { method compile (line 4214) | void compile(String const &re) { method compile (line 4221) | void compile(String const *re) { method RegexMatch (line 4230) | RegexMatch initMatch(){ method RegexMatch (line 4238) | RegexMatch getMatchObject(){ method SIZE_T (line 4250) | SIZE_T match(String const &s, Modifier const& mod, PCRE2_SIZE start_... method SIZE_T (line 4260) | SIZE_T match(String const *s, Modifier const& mod, PCRE2_SIZE start_... method SIZE_T (line 4270) | SIZE_T match(String const &s, PCRE2_SIZE start_offset=0) { method SIZE_T (line 4280) | SIZE_T match(String const *s, PCRE2_SIZE start_offset=0) { method RegexReplace (line 4287) | RegexReplace initReplace(){ method RegexReplace (line 4295) | RegexReplace getReplaceObject(){ method String (line 4308) | String replace(String const &mains, String const &repl, Modifier con... method String (line 4319) | String replace(String *mains, String const &repl, Modifier const& mo... method String (line 4331) | String replace(String const &mains, String const *repl, Modifier con... method String (line 4343) | String replace(String *mains, String const *repl, Modifier const& mo... method SIZE_T (line 4355) | SIZE_T preplace(String * mains, String const& repl, Modifier const& ... method SIZE_T (line 4371) | SIZE_T preplace(String * mains, String const* repl, Modifier const& ... method SIZE_T (line 4387) | SIZE_T preplace(String const& mains, String const& repl, Modifier co... method SIZE_T (line 4403) | SIZE_T preplace(String const& mains, String const* repl, Modifier co... class RegexMatch (line 1364) | class RegexMatch method init_vars (line 1414) | void init_vars() { method onlyCopy (line 1432) | void onlyCopy(RegexMatch const &rm){ method deepCopy (line 1457) | void deepCopy(RegexMatch const &rm){ method deepMove (line 1463) | void deepMove(RegexMatch& rm){ method RegexMatch (line 1479) | RegexMatch(){ method RegexMatch (line 1488) | RegexMatch(Regex const *r) { method RegexMatch (line 1497) | RegexMatch(RegexMatch const &rm){ method RegexMatch (line 1505) | virtual RegexMatch& operator=(RegexMatch const &rm){ method RegexMatch (line 1519) | RegexMatch(RegexMatch&& rm){ method RegexMatch (line 1532) | virtual RegexMatch& operator=(RegexMatch&& rm){ method RegexMatch (line 1547) | virtual RegexMatch& reset() { method RegexMatch (line 1557) | virtual RegexMatch& clear(){ method RegexMatch (line 1571) | virtual RegexMatch& resetErrors(){ method getErrorNumber (line 1579) | virtual int getErrorNumber() const { method getErrorOffset (line 1585) | virtual int getErrorOffset() const { method String (line 1591) | virtual String getErrorMessage() const { method String (line 1602) | virtual String getSubject() const { method String (line 1610) | virtual String const * getSubjectPointer() const { method getModifier (line 1629) | virtual std::string getModifier() const { method ModifierTable (line 1636) | virtual ModifierTable const* getModifierTable(){ method Uint (line 1645) | virtual Uint getPcre2Option() const { method Uint (line 1653) | virtual Uint getJpcre2Option() const { method PCRE2_SIZE (line 1659) | virtual PCRE2_SIZE getStartOffset() const { method VecOff (line 1667) | virtual VecOff const* getMatchStartOffsetVector() const { method VecOff (line 1675) | virtual VecOff const* getMatchEndOffsetVector() const { method Regex (line 1682) | virtual Regex const * getRegexObject() const { method VecNum (line 1688) | virtual VecNum const* getNumberedSubstringVector() const { method VecNas (line 1694) | virtual VecNas const* getNamedSubstringVector() const { method VecNtN (line 1700) | virtual VecNtN const* getNameToNumberMapVector() const { method RegexMatch (line 1709) | virtual RegexMatch& setRegexObject(Regex const *r){ method RegexMatch (line 1720) | virtual RegexMatch& setNumberedSubstringVector(VecNum* v) { method RegexMatch (line 1731) | virtual RegexMatch& setNamedSubstringVector(VecNas* v) { method RegexMatch (line 1742) | virtual RegexMatch& setNameToNumberMapVector(VecNtN* v) { method RegexMatch (line 1752) | virtual RegexMatch& setMatchStartOffsetVector(VecOff* v){ method RegexMatch (line 1762) | virtual RegexMatch& setMatchEndOffsetVector(VecOff* v){ method RegexMatch (line 1772) | virtual RegexMatch& setSubject(String const &s) { method RegexMatch (line 1784) | virtual RegexMatch& setSubject(String const *s) { method RegexMatch (line 1800) | virtual RegexMatch& setModifier(Modifier const& s) { method RegexMatch (line 1810) | virtual RegexMatch& setModifierTable(ModifierTable const * mdt){ method RegexMatch (line 1820) | virtual RegexMatch& setJpcre2Option(Uint x) { method RegexMatch (line 1830) | virtual RegexMatch& setPcre2Option(Uint x) { method RegexMatch (line 1838) | virtual RegexMatch& setFindAll(bool x) { method RegexMatch (line 1847) | virtual RegexMatch& setFindAll() { method RegexMatch (line 1856) | virtual RegexMatch& setStartOffset(PCRE2_SIZE offset) { method RegexMatch (line 1867) | virtual RegexMatch& setMatchContext(MatchContext *match_context){ method MatchContext (line 1875) | virtual MatchContext* getMatchContext(){ method RegexMatch (line 1884) | virtual RegexMatch& setMatchDataBlock(MatchData* madt){ method MatchData (line 1892) | virtual MatchData* getMatchDataBlock(){ method RegexMatch (line 1908) | virtual RegexMatch& changeModifier(Modifier const& mod, bool x){ method RegexMatch (line 1920) | virtual RegexMatch& changeJpcre2Option(Uint opt, bool x) { method RegexMatch (line 1931) | virtual RegexMatch& changePcre2Option(Uint opt, bool x) { method RegexMatch (line 1942) | virtual RegexMatch& addModifier(Modifier const& mod){ method RegexMatch (line 1951) | virtual RegexMatch& addJpcre2Option(Uint x) { method RegexMatch (line 1961) | virtual RegexMatch& addPcre2Option(Uint x) { class RegexReplace (line 1365) | class RegexReplace method init_vars (line 2926) | void init_vars() { method onlyCopy (line 2943) | void onlyCopy(RegexReplace const &rr){ method deepCopy (line 2969) | void deepCopy(RegexReplace const &rr){ method deepMove (line 2975) | void deepMove(RegexReplace& rr){ method RegexReplace (line 2990) | RegexReplace(){ method RegexReplace (line 2999) | RegexReplace(Regex const *r) { method RegexReplace (line 3008) | RegexReplace(RegexReplace const &rr){ method RegexReplace (line 3016) | RegexReplace& operator=(RegexReplace const &rr){ method RegexReplace (line 3031) | RegexReplace(RegexReplace&& rr){ method RegexReplace (line 3044) | RegexReplace& operator=(RegexReplace&& rr){ method RegexReplace (line 3056) | RegexReplace& reset() { method RegexReplace (line 3065) | RegexReplace& clear() { method RegexReplace (line 3076) | RegexReplace& resetErrors(){ method getErrorNumber (line 3084) | int getErrorNumber() const { method getErrorOffset (line 3090) | int getErrorOffset() const { method String (line 3096) | String getErrorMessage() const { method String (line 3106) | String getReplaceWith() const { method String (line 3112) | String const * getReplaceWithPointer() const { method String (line 3119) | String getSubject() const { method String (line 3126) | String const * getSubjectPointer() const { method getModifier (line 3145) | std::string getModifier() const { method ModifierTable (line 3152) | ModifierTable const* getModifierTable(){ method PCRE2_SIZE (line 3158) | PCRE2_SIZE getStartOffset() const { method Uint (line 3166) | Uint getPcre2Option() const { method Uint (line 3174) | Uint getJpcre2Option() const { method Regex (line 3181) | Regex const * getRegexObject() const { method MatchContext (line 3188) | MatchContext* getMatchContext(){ method MatchData (line 3195) | virtual MatchData* getMatchDataBlock(){ method PCRE2_SIZE (line 3201) | PCRE2_SIZE getBufferSize(){ method SIZE_T (line 3210) | SIZE_T getLastReplaceCount(){ method RegexReplace (line 3220) | RegexReplace& setReplaceCounter(SIZE_T* counter){ method RegexReplace (line 3230) | RegexReplace& setRegexObject(Regex const *r){ method RegexReplace (line 3241) | RegexReplace& setSubject(String const &s) { method RegexReplace (line 3254) | RegexReplace& setSubject(String *s) { method RegexReplace (line 3275) | RegexReplace& setReplaceWith(String const &s) { method RegexReplace (line 3285) | RegexReplace& setReplaceWith(String const *s) { method RegexReplace (line 3299) | RegexReplace& setModifier(Modifier const& s) { method RegexReplace (line 3308) | RegexReplace& setModifierTable(ModifierTable const * mdt){ method RegexReplace (line 3316) | RegexReplace& setBufferSize(PCRE2_SIZE x) { method RegexReplace (line 3325) | RegexReplace& setStartOffset(PCRE2_SIZE start_offset){ method RegexReplace (line 3336) | RegexReplace& setJpcre2Option(Uint x) { method RegexReplace (line 3347) | RegexReplace& setPcre2Option(Uint x) { method RegexReplace (line 3358) | RegexReplace& setMatchContext(MatchContext * match_context){ method RegexReplace (line 3369) | RegexReplace& setMatchDataBlock(MatchData *match_data){ method RegexReplace (line 3386) | RegexReplace& changeModifier(Modifier const& mod, bool x){ method RegexReplace (line 3399) | RegexReplace& changeJpcre2Option(Uint opt, bool x) { method RegexReplace (line 3410) | RegexReplace& changePcre2Option(Uint opt, bool x) { method RegexReplace (line 3423) | RegexReplace& addModifier(Modifier const& mod){ method RegexReplace (line 3432) | RegexReplace& addJpcre2Option(Uint x) { method RegexReplace (line 3442) | RegexReplace& addPcre2Option(Uint x) { method SIZE_T (line 3465) | SIZE_T preplace(void){ method SIZE_T (line 3480) | SIZE_T preplace(MatchEvaluator me){ method String (line 3519) | String nreplace(MatchEvaluator me){ method String (line 3537) | String replace(MatchEvaluator me){ class MatchEvaluator (line 1366) | class MatchEvaluator method init (line 2184) | void init(){ method setVectorPointersAccordingToCallback (line 2199) | void setVectorPointersAccordingToCallback(){ method onlyCopy (line 2212) | void onlyCopy(MatchEvaluator const &me){ method deepCopy (line 2227) | void deepCopy(MatchEvaluator const &me) { method deepMove (line 2237) | void deepMove(MatchEvaluator& me){ method MatchEvaluator (line 2248) | MatchEvaluator& setNumberedSubstringVector(VecNum* v){ method MatchEvaluator (line 2252) | MatchEvaluator& setNamedSubstringVector(VecNas* v){ method MatchEvaluator (line 2256) | MatchEvaluator& setNameToNumberMapVector(VecNtN* v){ method MatchEvaluator (line 2260) | MatchEvaluator& setMatchStartOffsetVector(VecOff* v){ method MatchEvaluator (line 2264) | MatchEvaluator& setMatchEndOffsetVector(VecOff* v){ method MatchEvaluator (line 2285) | explicit method MatchEvaluator (line 2298) | explicit method MatchEvaluator (line 2308) | explicit method MatchEvaluator (line 2318) | explicit method MatchEvaluator (line 2328) | explicit method MatchEvaluator (line 2338) | explicit method MatchEvaluator (line 2348) | explicit method MatchEvaluator (line 2358) | explicit method MatchEvaluator (line 2369) | explicit method MatchEvaluator (line 2381) | explicit method MatchEvaluator (line 2393) | MatchEvaluator(MatchEvaluator const &me): RegexMatch(me){ method MatchEvaluator (line 2401) | MatchEvaluator& operator=(MatchEvaluator const &me){ method MatchEvaluator (line 2417) | MatchEvaluator(MatchEvaluator&& me): RegexMatch(me){ method MatchEvaluator (line 2431) | MatchEvaluator& operator=(MatchEvaluator&& me){ method MatchEvaluator (line 2448) | MatchEvaluator& setCallback(typename MatchEvaluatorCallback handle_value(Value&& v, const bool ski... class json_sax_acceptor (line 7220) | class json_sax_acceptor method null (line 7229) | bool null() method boolean (line 7234) | bool boolean(bool /*unused*/) method number_integer (line 7239) | bool number_integer(number_integer_t /*unused*/) method number_unsigned (line 7244) | bool number_unsigned(number_unsigned_t /*unused*/) method number_float (line 7249) | bool number_float(number_float_t /*unused*/, const string_t& /*unused*/) method string (line 7254) | bool string(string_t& /*unused*/) method binary (line 7259) | bool binary(binary_t& /*unused*/) method start_object (line 7264) | bool start_object(std::size_t /*unused*/ = static_cast(-1)) method key (line 7269) | bool key(string_t& /*unused*/) method end_object (line 7274) | bool end_object() method start_array (line 7279) | bool start_array(std::size_t /*unused*/ = static_cast(-1)) method end_array (line 7284) | bool end_array() method parse_error (line 7289) | bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/... function NLOHMANN_JSON_NAMESPACE_BEGIN (line 7326) | NLOHMANN_JSON_NAMESPACE_BEGIN function reset (line 8621) | void reset() noexcept function char_int_type (line 8638) | char_int_type get() function unget (line 8675) | void unget() function add (line 8702) | void add(char_int_type c) function number_unsigned_t (line 8719) | constexpr number_unsigned_t get_number_unsigned() const noexcept function number_float_t (line 8725) | constexpr number_float_t get_number_float() const noexcept function string_t (line 8731) | string_t& get_string() function position_t (line 8741) | constexpr position_t get_position() const noexcept function get_token_string (line 8749) | std::string get_token_string() const function JSON_HEDLEY_RETURNS_NON_NULL (line 8773) | JSON_HEDLEY_RETURNS_NON_NULL function skip_bom (line 8787) | bool skip_bom() function skip_whitespace (line 8801) | void skip_whitespace() function token_type (line 8810) | token_type scan() function NLOHMANN_JSON_NAMESPACE_BEGIN (line 8959) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_END (line 9099) | NLOHMANN_JSON_NAMESPACE_END function NLOHMANN_JSON_NAMESPACE_BEGIN (line 12125) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_BEGIN (line 12637) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_END (line 12753) | NLOHMANN_JSON_NAMESPACE_END function NLOHMANN_JSON_NAMESPACE_BEGIN (line 12808) | NLOHMANN_JSON_NAMESPACE_BEGIN function pointer (line 13110) | pointer operator->() const function iter_impl (line 13152) | iter_impl operator++(int)& // NOLINT(cert-dcl21-cpp) function iter_impl (line 13163) | iter_impl& operator++() function iter_impl (line 13203) | iter_impl operator--(int)& // NOLINT(cert-dcl21-cpp) function iter_impl (line 13214) | iter_impl& operator--() function iter_impl (line 13362) | iter_impl& operator+=(difference_type i) function iter_impl (line 13399) | iter_impl& operator-=(difference_type i) function iter_impl (line 13408) | iter_impl operator+(difference_type i) const function friend (line 13419) | friend iter_impl operator+(difference_type i, const iter_impl& it) function iter_impl (line 13430) | iter_impl operator-(difference_type i) const function difference_type (line 13441) | difference_type operator-(const iter_impl& other) const function reference (line 13470) | reference operator[](difference_type n) const function reference (line 13524) | reference value() const function NLOHMANN_JSON_NAMESPACE_BEGIN (line 13559) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_BEGIN (line 13711) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 13731) | NLOHMANN_BASIC_JSON_TPL_DECLARATION function json_pointer (line 13743) | explicit json_pointer(const string_t& s = "") function string_t (line 13749) | string_t to_string() const function friend (line 13770) | friend std::ostream& operator<<(std::ostream& o, const json_pointer& ptr) function json_pointer (line 13779) | json_pointer& operator/=(const json_pointer& ptr) function json_pointer (line 13789) | json_pointer& operator/=(string_t token) function json_pointer (line 13797) | json_pointer& operator/=(std::size_t array_idx) function friend (line 13804) | friend json_pointer operator/(const json_pointer& lhs, function friend (line 13812) | friend json_pointer operator/(const json_pointer& lhs, string_t token) /... function friend (line 13819) | friend json_pointer operator/(const json_pointer& lhs, std::size_t array... function json_pointer (line 13826) | json_pointer parent_pointer() const function pop_back (line 13840) | void pop_back() function string_t (line 13852) | const string_t& back() const function push_back (line 13864) | void push_back(const string_t& token) function push_back (line 13871) | void push_back(string_t&& token) function empty (line 13878) | bool empty() const noexcept function BasicJsonType (line 13955) | BasicJsonType& get_and_create(BasicJsonType& j) const function BasicJsonType (line 14035) | BasicJsonType& get_unchecked(BasicJsonType* ptr) const function BasicJsonType (line 14103) | BasicJsonType& get_checked(BasicJsonType* ptr) const function BasicJsonType (line 14161) | const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const function BasicJsonType (line 14210) | const BasicJsonType& get_checked(const BasicJsonType* ptr) const function contains (line 14259) | bool contains(const BasicJsonType* ptr) const function split (line 14347) | static std::vector split(const string_t& reference_string) function BasicJsonType (line 14487) | static BasicJsonType function convert (line 14516) | json_pointer convert() const& function convert (line 14523) | json_pointer convert()&& function NLOHMANN_JSON_NAMESPACE_BEGIN (line 14690) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_BEGIN (line 14815) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_END (line 14937) | NLOHMANN_JSON_NAMESPACE_END function NLOHMANN_JSON_NAMESPACE_BEGIN (line 16804) | NLOHMANN_JSON_NAMESPACE_BEGIN function NLOHMANN_JSON_NAMESPACE_END (line 17901) | NLOHMANN_JSON_NAMESPACE_END function hex_bytes (line 18561) | static std::string hex_bytes(std::uint8_t byte) function is_negative_number (line 18572) | bool is_negative_number(NumberType x) function is_negative_number (line 18578) | bool is_negative_number(NumberType /*unused*/) function dump_integer (line 18598) | void dump_integer(NumberType x) function dump_float (line 18683) | void dump_float(number_float_t x) function dump_float (line 18704) | void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_dou... function dump_float (line 18712) | void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_do... function decode (line 18784) | static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, co... function number_unsigned_t (line 18824) | number_unsigned_t remove_sign(number_unsigned_t x) function number_unsigned_t (line 18839) | inline number_unsigned_t remove_sign(number_integer_t x) noexcept function ordered_map (line 18926) | ordered_map() noexcept(noexcept(Container())) : Container{} {} function ordered_map (line 18927) | explicit ordered_map(const Allocator& alloc) noexcept(noexcept(Container... function ordered_map (line 18929) | ordered_map(It first, It last, const Allocator& alloc = Allocator()) function ordered_map (line 18931) | ordered_map(std::initializer_list init, const Allocator& all... function emplace (line 18934) | std::pair emplace(const key_type& key, T&& t) function emplace (line 18949) | std::pair emplace(KeyType && key, T && t) function T (line 18962) | T& operator[](const key_type& key) function T (line 18969) | T & operator[](KeyType && key) function T (line 18974) | const T& operator[](const key_type& key) const function T (line 18981) | const T & operator[](KeyType && key) const function T (line 18986) | T& at(const key_type& key) function T (line 19001) | T & at(KeyType && key) function T (line 19014) | const T& at(const key_type& key) const function T (line 19029) | const T & at(KeyType && key) const function size_type (line 19042) | size_type erase(const key_type& key) function size_type (line 19063) | size_type erase(KeyType && key) function iterator (line 19082) | iterator erase(iterator pos) function iterator (line 19087) | iterator erase(iterator first, iterator last) function size_type (line 19140) | size_type count(const key_type& key) const function size_type (line 19154) | size_type count(KeyType && key) const function iterator (line 19166) | iterator find(const key_type& key) function iterator (line 19180) | iterator find(KeyType && key) function const_iterator (line 19192) | const_iterator find(const key_type& key) const function insert (line 19204) | std::pair insert( value_type&& value ) function insert (line 19209) | std::pair insert( const value_type& value ) function insert (line 19227) | void insert(InputIt first, InputIt last) function NLOHMANN_JSON_NAMESPACE_BEGIN (line 19252) | NLOHMANN_JSON_NAMESPACE_BEGIN function set_parents (line 19871) | void set_parents() function iterator (line 19908) | iterator set_parents(iterator it, typename iterator::difference_type cou... function reference (line 19921) | reference set_parent(reference j, std::size_t old_capacity = static_cast... function basic_json (line 19983) | basic_json(const value_t v) function basic_json (line 19991) | basic_json(std::nullptr_t = nullptr) noexcept // NOLINT(bugprone-excepti... function basic_json (line 20003) | basic_json(CompatibleType && val) noexcept(noexcept( // NOLINT(bugprone-... function basic_json (line 20017) | basic_json(const BasicJsonType& val) function basic_json (line 20070) | basic_json(initializer_list_t init, function JSON_HEDLEY_WARN_UNUSED_RESULT (line 20125) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 20136) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 20147) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 20158) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 20169) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 20177) | JSON_HEDLEY_WARN_UNUSED_RESULT function basic_json (line 20185) | basic_json(size_type cnt, const basic_json& val) function basic_json (line 20198) | basic_json(InputIT first, InputIT last) function basic_json (line 20308) | basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {} function basic_json (line 20312) | basic_json(const basic_json& other) function basic_json (line 20380) | basic_json(basic_json&& other) noexcept function basic_json (line 20397) | basic_json& operator=(basic_json other) noexcept ( function value_t (line 20459) | constexpr value_t type() const noexcept function is_primitive (line 20466) | constexpr bool is_primitive() const noexcept function is_structured (line 20473) | constexpr bool is_structured() const noexcept function is_null (line 20480) | constexpr bool is_null() const noexcept function is_boolean (line 20487) | constexpr bool is_boolean() const noexcept function is_number (line 20494) | constexpr bool is_number() const noexcept function is_number_integer (line 20501) | constexpr bool is_number_integer() const noexcept function is_number_unsigned (line 20508) | constexpr bool is_number_unsigned() const noexcept function is_number_float (line 20515) | constexpr bool is_number_float() const noexcept function is_object (line 20522) | constexpr bool is_object() const noexcept function is_array (line 20529) | constexpr bool is_array() const noexcept function is_string (line 20536) | constexpr bool is_string() const noexcept function is_binary (line 20543) | constexpr bool is_binary() const noexcept function is_discarded (line 20550) | constexpr bool is_discarded() const noexcept function object_t (line 20581) | object_t* get_impl_ptr(object_t* /*unused*/) noexcept function object_t (line 20587) | constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const... function array_t (line 20593) | array_t* get_impl_ptr(array_t* /*unused*/) noexcept function array_t (line 20599) | constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const n... function string_t (line 20605) | string_t* get_impl_ptr(string_t* /*unused*/) noexcept function string_t (line 20611) | constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const... function boolean_t (line 20617) | boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept function boolean_t (line 20623) | constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) con... function number_integer_t (line 20629) | number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept function number_integer_t (line 20635) | constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /... function number_unsigned_t (line 20641) | number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept function number_unsigned_t (line 20647) | constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t*... function number_float_t (line 20653) | number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept function number_float_t (line 20659) | constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unu... function binary_t (line 20665) | binary_t* get_impl_ptr(binary_t* /*unused*/) noexcept function binary_t (line 20671) | constexpr const binary_t* get_impl_ptr(const binary_t* /*unused*/) const... function ReferenceType (line 20688) | static ReferenceType get_ref_impl(ThisType& obj) function get_ptr (line 20721) | constexpr auto get_ptr() const noexcept -> decltype(std::declval /*unused*/) const noexcept(no... function BasicJsonType (line 20838) | BasicJsonType get_impl(detail::priority_tag<2> /*unused*/) const function basic_json (line 20861) | basic_json get_impl(detail::priority_tag<3> /*unused*/) const function get_impl (line 20874) | constexpr auto get_impl(detail::priority_tag<4> /*unused*/) const noexcept function get (line 20950) | auto get() noexcept -> decltype(std::declval().template g... function ValueType (line 20963) | ValueType & get_to(ValueType& v) const noexcept(noexcept( function ValueType (line 20976) | ValueType & get_to(ValueType& v) const function Array (line 20987) | Array get_to(T (&v)[N]) const // NOLINT(cppcoreguidelines-avoid-c-arrays... function ReferenceType (line 20999) | ReferenceType get_ref() function ReferenceType (line 21010) | ReferenceType get_ref() const function binary_t (line 21069) | binary_t& get_binary() function binary_t (line 21081) | const binary_t& get_binary() const function reference (line 21104) | reference at(size_type idx) function const_reference (line 21127) | const_reference at(size_type idx) const function reference (line 21150) | reference at(const typename object_t::key_type& key) function reference (line 21170) | reference at(KeyType && key) function const_reference (line 21188) | const_reference at(const typename object_t::key_type& key) const function const_reference (line 21208) | const_reference at(KeyType && key) const function reference (line 21226) | reference operator[](size_type idx) function const_reference (line 21272) | const_reference operator[](size_type idx) const function reference (line 21285) | reference operator[](typename object_t::key_type key) function const_reference (line 21307) | const_reference operator[](const typename object_t::key_type& key) const function reference (line 21323) | reference operator[](T* key) function const_reference (line 21329) | const_reference operator[](T* key) const function reference (line 21338) | reference operator[](KeyType && key) function const_reference (line 21362) | const_reference operator[](KeyType && key) const class ValueType (line 21388) | class ValueType function ReturnType (line 21417) | ReturnType value(const typename object_t::key_type& key, ValueType && de... function ValueType (line 21443) | ValueType value(KeyType && key, const ValueType& default_value) const function ReturnType (line 21470) | ReturnType value(KeyType && key, ValueType && default_value) const function ValueType (line 21493) | ValueType value(const json_pointer& ptr, const ValueType& default_value)... function ReturnType (line 21518) | ReturnType value(const json_pointer& ptr, ValueType && default_value) const function ValueType (line 21542) | ValueType value(const ::nlohmann::json_pointer& ptr, cons... function ReturnType (line 21553) | ReturnType value(const ::nlohmann::json_pointer& ptr, Val... function reference (line 21560) | reference front() function const_reference (line 21567) | const_reference front() const function reference (line 21574) | reference back() function const_reference (line 21583) | const_reference back() const function IteratorType (line 21595) | IteratorType erase(IteratorType pos) function IteratorType (line 21665) | IteratorType erase(IteratorType first, IteratorType last) function erase_internal (line 21733) | private: function size_type (line 21749) | size_type erase_internal(KeyType && key) function size_type (line 21781) | size_type erase(KeyType && key) function erase (line 21788) | void erase(const size_type idx) function iterator (line 21818) | iterator find(const typename object_t::key_type& key) function const_iterator (line 21832) | const_iterator find(const typename object_t::key_type& key) const function iterator (line 21848) | iterator find(KeyType && key) function const_iterator (line 21864) | const_iterator find(KeyType && key) const function size_type (line 21878) | size_type count(const typename object_t::key_type& key) const function size_type (line 21888) | size_type count(KeyType && key) const function contains (line 21896) | bool contains(const typename object_t::key_type& key) const function contains (line 21905) | bool contains(KeyType && key) const function contains (line 21912) | bool contains(const json_pointer& ptr) const function contains (line 21919) | bool contains(const typename ::nlohmann::json_pointer& pt... function iterator (line 21936) | iterator begin() noexcept function const_iterator (line 21945) | const_iterator begin() const noexcept function const_iterator (line 21952) | const_iterator cbegin() const noexcept function iterator (line 21961) | iterator end() noexcept function const_iterator (line 21970) | const_iterator end() const noexcept function const_iterator (line 21977) | const_iterator cend() const noexcept function reverse_iterator (line 21986) | reverse_iterator rbegin() noexcept function const_reverse_iterator (line 21993) | const_reverse_iterator rbegin() const noexcept function reverse_iterator (line 22000) | reverse_iterator rend() noexcept function const_reverse_iterator (line 22007) | const_reverse_iterator rend() const noexcept function const_reverse_iterator (line 22014) | const_reverse_iterator crbegin() const noexcept function const_reverse_iterator (line 22021) | const_reverse_iterator crend() const noexcept function iterator_wrapper (line 22033) | static iteration_proxy iterator_wrapper(reference ref) noexcept function iterator_wrapper (line 22044) | static iteration_proxy iterator_wrapper(const_reference ... function items (line 22051) | iteration_proxy items() noexcept function items (line 22058) | iteration_proxy items() const noexcept function empty (line 22075) | bool empty() const noexcept function size_type (line 22114) | size_type size() const noexcept function size_type (line 22153) | size_type max_size() const noexcept function clear (line 22197) | void clear() noexcept function push_back (line 22258) | void push_back(basic_json&& val) function reference (line 22283) | reference operator+=(basic_json&& val) function push_back (line 22291) | void push_back(const basic_json& val) function reference (line 22315) | reference operator+=(const basic_json& val) function push_back (line 22323) | void push_back(const typename object_t::value_type& val) function reference (line 22346) | reference operator+=(const typename object_t::value_type& val) function push_back (line 22354) | void push_back(initializer_list_t init) function reference (line 22370) | reference operator+=(initializer_list_t init) function reference (line 22379) | reference emplace_back(Args&& ... args) function emplace (line 22404) | std::pair emplace(Args&& ... args) function iterator (line 22436) | iterator insert_iterator(const_iterator pos, Args&& ... args) function iterator (line 22455) | iterator insert(const_iterator pos, const basic_json& val) function iterator (line 22475) | iterator insert(const_iterator pos, basic_json&& val) function iterator (line 22482) | iterator insert(const_iterator pos, size_type cnt, const basic_json& val) function iterator (line 22502) | iterator insert(const_iterator pos, const_iterator first, const_iterator... function iterator (line 22533) | iterator insert(const_iterator pos, initializer_list_t ilist) function insert (line 22553) | void insert(const_iterator first, const_iterator last) function update (line 22578) | void update(const_reference j, bool merge_objects = false) function update (line 22585) | void update(const_iterator first, const_iterator last, bool merge_object... function swap (line 22632) | void swap(reference other) noexcept ( function friend (line 22649) | friend void swap(reference left, reference right) noexcept ( function swap (line 22661) | void swap(array_t& other) // NOLINT(bugprone-exception-escape) function swap (line 22677) | void swap(object_t& other) // NOLINT(bugprone-exception-escape) function swap (line 22693) | void swap(string_t& other) // NOLINT(bugprone-exception-escape) function swap (line 22709) | void swap(binary_t& other) // NOLINT(bugprone-exception-escape) function swap (line 22725) | void swap(typename binary_t::container_type& other) // NOLINT(bugprone-e... function else (line 22814) | else if(compares_unordered(lhs, rhs))\ function compares_unordered (line 22843) | bool compares_unordered(const_reference rhs, bool inverse = false) const... function friend (line 22956) | friend bool operator==(const_reference lhs, const_reference rhs) noexcept function friend (line 22988) | friend bool operator!=(const_reference lhs, const_reference rhs) noexcept function friend (line 23045) | friend bool operator<=(const_reference lhs, const_reference rhs) noexcept function friend (line 23074) | friend bool operator>(const_reference lhs, const_reference rhs) noexcept function friend (line 23104) | friend bool operator>=(const_reference lhs, const_reference rhs) noexcept function friend (line 23145) | friend std::ostream& operator<<(std::ostream& o, const basic_json& j) function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23185) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23199) | JSON_HEDLEY_WARN_UNUSED_RESULT function basic_json (line 23213) | static basic_json parse(detail::span_input_adapter&& i, function accept (line 23226) | static bool accept(InputType&& i, function accept (line 23235) | static bool accept(IteratorType first, IteratorType last, function accept (line 23243) | static bool accept(detail::span_input_adapter&& i, function sax_parse (line 23253) | static bool sax_parse(InputType&& i, SAX* sax, function sax_parse (line 23268) | static bool sax_parse(IteratorType first, IteratorType last, SAX* sax, function sax_parse (line 23287) | static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, function JSON_HEDLEY_RETURNS_NON_NULL (line 23328) | JSON_HEDLEY_RETURNS_NON_NULL function to_cbor (line 23391) | static void to_cbor(const basic_json& j, detail::output_adapter o) function to_msgpack (line 23405) | static std::vector to_msgpack(const basic_json& j) function to_msgpack (line 23414) | static void to_msgpack(const basic_json& j, detail::output_adapter o) function to_ubjson (line 23428) | static std::vector to_ubjson(const basic_json& j, function to_ubjson (line 23439) | static void to_ubjson(const basic_json& j, detail::output_adapter o, function to_bjdata (line 23455) | static std::vector to_bjdata(const basic_json& j, function to_bjdata (line 23466) | static void to_bjdata(const basic_json& j, detail::output_adapter o, function to_bson (line 23482) | static std::vector to_bson(const basic_json& j) function to_bson (line 23491) | static void to_bson(const basic_json& j, detail::output_adapter o) function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23506) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23522) | JSON_HEDLEY_WARN_UNUSED_RESULT function basic_json (line 23538) | static basic_json from_cbor(const T* ptr, std::size_t len, function basic_json (line 23549) | static basic_json from_cbor(detail::span_input_adapter&& i, function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23565) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23580) | JSON_HEDLEY_WARN_UNUSED_RESULT function basic_json (line 23595) | static basic_json from_msgpack(const T* ptr, std::size_t len, function basic_json (line 23604) | static basic_json from_msgpack(detail::span_input_adapter&& i, function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23619) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23634) | JSON_HEDLEY_WARN_UNUSED_RESULT function basic_json (line 23649) | static basic_json from_ubjson(const T* ptr, std::size_t len, function basic_json (line 23658) | static basic_json from_ubjson(detail::span_input_adapter&& i, function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23674) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23689) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23704) | JSON_HEDLEY_WARN_UNUSED_RESULT function JSON_HEDLEY_WARN_UNUSED_RESULT (line 23719) | JSON_HEDLEY_WARN_UNUSED_RESULT function basic_json (line 23734) | static basic_json from_bson(const T* ptr, std::size_t len, function basic_json (line 23743) | static basic_json from_bson(detail::span_input_adapter&& i, function reference (line 23765) | reference operator[](const json_pointer& ptr) function reference (line 23772) | reference operator[](const ::nlohmann::json_pointer& ptr) function const_reference (line 23779) | const_reference operator[](const json_pointer& ptr) const function const_reference (line 23786) | const_reference operator[](const ::nlohmann::json_pointer... function reference (line 23793) | reference at(const json_pointer& ptr) function reference (line 23800) | reference at(const ::nlohmann::json_pointer& ptr) function const_reference (line 23807) | const_reference at(const json_pointer& ptr) const function const_reference (line 23814) | const_reference at(const ::nlohmann::json_pointer& ptr) c... function basic_json (line 23821) | basic_json flatten() const function basic_json (line 23830) | basic_json unflatten() const function patch_inplace (line 23846) | void patch_inplace(const basic_json& json_patch) function basic_json (line 24117) | basic_json patch(const basic_json& json_patch) const function JSON_HEDLEY_WARN_UNUSED_RESULT (line 24126) | JSON_HEDLEY_WARN_UNUSED_RESULT function merge_patch (line 24269) | void merge_patch(const basic_json& apply_patch) function NLOHMANN_BASIC_JSON_TPL_DECLARATION (line 24300) | NLOHMANN_BASIC_JSON_TPL_DECLARATION type literals (line 24306) | inline namespace literals type json_literals (line 24308) | inline namespace json_literals function NLOHMANN_JSON_NAMESPACE_END (line 24329) | NLOHMANN_JSON_NAMESPACE_END FILE: scripts/update_rules.py function del_rw (line 11) | def del_rw(action, name: str, exc): function open_repo (line 16) | def open_repo(path: str): function update_rules (line 25) | def update_rules(repo_path: str, save_path: str, matches: list[str], kee... function main (line 45) | def main(): FILE: src/config/binding.h function namespace (line 12) | namespace toml function namespace (line 189) | namespace INIBinding function CronTaskConfig (line 310) | struct from function RegexMatchConfig (line 333) | struct from FILE: src/config/crontask.h type CronTaskConfig (line 6) | struct CronTaskConfig FILE: src/config/proxygroup.h function ProxyGroupType (line 6) | enum class ProxyGroupType FILE: src/config/regmatch.h type RegexMatchConfig (line 6) | struct RegexMatchConfig FILE: src/config/ruleset.h type class (line 6) | enum class type RulesetConfig (line 15) | struct RulesetConfig FILE: src/generator/config/nodemanip.cpp function explodeConf (line 25) | int explodeConf(const std::string &filepath, std::vector &nodes) function copyNodes (line 30) | void copyNodes(std::vector &source, std::vector &dest) function addNodes (line 35) | int addNodes(std::string link, std::vector &allNodes, int groupID... function chkIgnore (line 233) | bool chkIgnore(const Proxy &node, string_array &exclude_remarks, string_... function filterNodes (line 273) | void filterNodes(std::vector &nodes, string_array &exclude_remark... function nodeRename (line 377) | void nodeRename(Proxy &node, const RegexMatchConfigs &rename_array, extr... function removeEmoji (line 413) | std::string removeEmoji(const std::string &orig_remark) function addEmoji (line 429) | std::string addEmoji(const Proxy &node, const RegexMatchConfigs &emoji_a... function preprocessNodes (line 468) | void preprocessNodes(std::vector &nodes, extra_settings &ext) FILE: src/generator/config/nodemanip.h type parse_settings (line 17) | struct parse_settings FILE: src/generator/config/ruleconvert.cpp function convertRuleset (line 20) | std::string convertRuleset(const std::string &content, int type) function transformRuleToCommon (line 98) | static std::string transformRuleToCommon(string_view_array &temp, const ... function rulesetToClash (line 125) | void rulesetToClash(YAML::Node &base_rule, std::vector &... function rulesetToClashStr (line 193) | std::string rulesetToClashStr(YAML::Node &base_rule, std::vector &r... function transformRuleToSingBox (line 473) | static rapidjson::Value transformRuleToSingBox(std::vector &args, rapid... function rulesetToSingBox (line 520) | void rulesetToSingBox(rapidjson::Document &base_rule, std::vector &nodelist... function proxyToClash (line 232) | void proxyToClash(std::vector &nodes, YAML::Node &yamlnode, const... function proxyToClash (line 675) | std::string proxyToClash(std::vector &nodes, const std::string &b... function generatePeer (line 726) | std::string generatePeer(Proxy &node, bool client_id_as_reserved = false) function proxyToSurge (line 747) | std::string proxyToSurge(std::vector &nodes, const std::string &b... function proxyToSingle (line 1068) | std::string proxyToSingle(std::vector &nodes, int types, extra_se... function proxyToSSSub (line 1149) | std::string proxyToSSSub(std::string base_conf, std::vector &node... function proxyToQuan (line 1202) | std::string proxyToQuan(std::vector &nodes, const std::string &ba... function proxyToQuan (line 1226) | void proxyToQuan(std::vector &nodes, INIReader &ini, std::vector<... function proxyToQuanX (line 1428) | std::string proxyToQuanX(std::vector &nodes, const std::string &b... function proxyToQuanX (line 1459) | void proxyToQuanX(std::vector &nodes, INIReader &ini, std::vector... function proxyToSSD (line 1697) | std::string proxyToSSD(std::vector &nodes, std::string &group, st... function proxyToMellow (line 1796) | std::string proxyToMellow(std::vector &nodes, const std::string &... function proxyToMellow (line 1811) | void proxyToMellow(std::vector &nodes, INIReader &ini, std::vecto... function proxyToLoon (line 1951) | std::string proxyToLoon(std::vector &nodes, const std::string &ba... function formatSingBoxInterval (line 2187) | static std::string formatSingBoxInterval(Integer interval) function buildSingBoxTransport (line 2205) | static rapidjson::Value buildSingBoxTransport(const Proxy& proxy, rapidj... function addSingBoxCommonMembers (line 2245) | static void addSingBoxCommonMembers(rapidjson::Value &proxy, const Proxy... function stringArrayToJsonArray (line 2253) | static rapidjson::Value stringArrayToJsonArray(const std::string &array,... function buildSingBoxHysteria2ServerPorts (line 2262) | static rapidjson::Value buildSingBoxHysteria2ServerPorts(const std::stri... function proxyToSingBox (line 2281) | void proxyToSingBox(std::vector &nodes, rapidjson::Document &json... function proxyToSingBox (line 2600) | std::string proxyToSingBox(std::vector &nodes, const std::string ... FILE: src/generator/config/subexport.h type extra_settings (line 18) | struct extra_settings FILE: src/generator/template/template_jinja2.cpp function parse_json_pointer (line 12) | static inline void parse_json_pointer(nlohmann::json &json, const std::s... function render_template (line 18) | int render_template(const std::string &content, const template_args &var... FILE: src/generator/template/templates.cpp type inja (line 18) | namespace inja function convert_dot_to_json_pointer (line 20) | void convert_dot_to_json_pointer(std::string_view dot, std::string& out) function parse_json_pointer (line 26) | static inline void parse_json_pointer(nlohmann::json &json, const std::s... function template_webGet (line 72) | std::string template_webGet(inja::Arguments &args) function render_template (line 80) | int render_template(const std::string &content, const template_args &var... function findFileName (line 295) | std::string findFileName(const std::string &path) function renderClashScript (line 310) | int renderClashScript(YAML::Node &base_rule, std::vector... FILE: src/generator/template/templates.h type template_args (line 10) | struct template_args FILE: src/handler/interfaces.cpp function parseProxy (line 36) | std::string parseProxy(const std::string &source) type UAProfile (line 48) | struct UAProfile function verGreaterEqual (line 87) | bool verGreaterEqual(const std::string& src_ver, const std::string& targ... function matchUserAgent (line 111) | void matchUserAgent(const std::string &user_agent, std::string &target, ... function getRuleset (line 136) | std::string getRuleset(RESPONSE_CALLBACK_ARGS) function checkExternalBase (line 296) | void checkExternalBase(const std::string &path, std::string &dest) function subconverter (line 302) | std::string subconverter(RESPONSE_CALLBACK_ARGS) function simpleToClashR (line 965) | std::string simpleToClashR(RESPONSE_CALLBACK_ARGS) function surgeConfToClash (line 986) | std::string surgeConfToClash(RESPONSE_CALLBACK_ARGS) function merge_values (line 1210) | static void merge_values(const string_multimap& source, function update_container (line 1227) | static void update_container(string_multimap& container, function getProfile (line 1237) | std::string getProfile(RESPONSE_CALLBACK_ARGS) function intToStream (line 1371) | inline std::string intToStream(unsigned long long stream) function subInfoToMessage (line 1387) | std::string subInfoToMessage(std::string subinfo) function simpleGenerator (line 1413) | int simpleGenerator() function renderTemplate (line 1534) | std::string renderTemplate(RESPONSE_CALLBACK_ARGS) FILE: src/handler/multithread.cpp function RegexMatchConfigs (line 13) | RegexMatchConfigs safe_get_emojis() function RegexMatchConfigs (line 19) | RegexMatchConfigs safe_get_renames() function RegexMatchConfigs (line 25) | RegexMatchConfigs safe_get_streams() function RegexMatchConfigs (line 31) | RegexMatchConfigs safe_get_times() function safe_set_emojis (line 37) | void safe_set_emojis(RegexMatchConfigs data) function safe_set_renames (line 43) | void safe_set_renames(RegexMatchConfigs data) function safe_set_streams (line 49) | void safe_set_streams(RegexMatchConfigs data) function safe_set_times (line 55) | void safe_set_times(RegexMatchConfigs data) function fetchFileAsync (line 61) | std::shared_future fetchFileAsync(const std::string &path, ... function fetchFile (line 77) | std::string fetchFile(const std::string &path, const std::string &proxy,... FILE: src/handler/settings.cpp function importItems (line 25) | int importItems(string_array &target, bool scope_limit) function parseToml (line 72) | toml::value parseToml(const std::string &content, const std::string &fname) function importItems (line 78) | void importItems(std::vector &root, const std::string &impo... function readRegexMatch (line 115) | void readRegexMatch(YAML::Node node, const std::string &delimiter, strin... function readEmoji (line 143) | void readEmoji(YAML::Node node, string_array &dest, bool scope_limit = t... function readGroup (line 172) | void readGroup(YAML::Node node, string_array &dest, bool scope_limit = t... function readRuleset (line 218) | void readRuleset(YAML::Node node, string_array &dest, bool scope_limit =... function refreshRulesets (line 248) | void refreshRulesets(RulesetConfigs &ruleset_list, std::vector &arr, const to... function readTOMLConf (line 585) | void readTOMLConf(toml::value &root) function readConf (line 786) | void readConf() function loadExternalYAML (line 1077) | int loadExternalYAML(YAML::Node &node, ExternalConfig &ext) function loadExternalTOML (line 1151) | int loadExternalTOML(toml::value &root, ExternalConfig &ext) function loadExternalConfig (line 1204) | int loadExternalConfig(std::string &path, ExternalConfig &ext) FILE: src/handler/settings.h type Settings (line 17) | struct Settings type ExternalConfig (line 75) | struct ExternalConfig FILE: src/handler/upload.cpp function buildGistData (line 9) | std::string buildGistData(std::string name, std::string content) function uploadGist (line 30) | int uploadGist(std::string name, std::string path, std::string content, ... FILE: src/handler/webget.cpp type curl_progress_data (line 36) | struct curl_progress_data function curl_init (line 41) | static inline void curl_init() function writer (line 51) | static int writer(char *data, size_t size, size_t nmemb, std::string *wr... function dummy_writer (line 61) | static int dummy_writer(char *, size_t size, size_t nmemb, void *) function size_checker (line 68) | static int size_checker(void *clientp, curl_off_t, curl_off_t dlnow, cur... function logger (line 82) | static int logger(CURL *handle, curl_infotype type, char *data, size_t s... function curl_set_common_options (line 123) | static inline void curl_set_common_options(CURL *curl_handle, const char... function curlGet (line 146) | static int curlGet(const FetchArgument &argument, FetchResult &result) function dataGet (line 277) | static std::string dataGet(const std::string &url) function buildSocks5ProxyString (line 293) | std::string buildSocks5ProxyString(const std::string &addr, int port, co... function webGet (line 300) | std::string webGet(const std::string &url, const std::string &proxy, uns... function flushCache (line 367) | void flushCache() function webPost (line 375) | int webPost(const std::string &url, const std::string &data, const std::... function webPatch (line 384) | int webPatch(const std::string &url, const std::string &data, const std:... function webHead (line 393) | int webHead(const std::string &url, const std::string &proxy, const stri... function string_array (line 402) | string_array headers_map_to_array(const string_map &headers) function webGet (line 410) | int webGet(const FetchArgument& argument, FetchResult &result) FILE: src/handler/webget.h type http_method (line 10) | enum http_method type FetchArgument (line 18) | struct FetchArgument type FetchResult (line 30) | struct FetchResult FILE: src/lib/wrapper.cpp function fileExist (line 6) | bool fileExist(const std::string&, bool) { return false; } function fileGet (line 7) | std::string fileGet(const std::string&, bool) { return ""; } FILE: src/main.cpp function SetConsoleTitle (line 30) | void SetConsoleTitle(const std::string &title) function setcd (line 36) | void setcd(std::string &file) function chkArg (line 61) | void chkArg(int argc, char *argv[]) function signal_handler (line 93) | void signal_handler(int sig) function cron_tick_caller (line 110) | void cron_tick_caller() function main (line 116) | int main(int argc, char *argv[]) FILE: src/parser/config/proxy.h function ProxyType (line 12) | enum class ProxyType FILE: src/parser/infoparser.cpp function streamToInt (line 13) | unsigned long long streamToInt(const std::string &stream) function percentToDouble (line 33) | static inline double percentToDouble(const std::string &percent) function time_t (line 38) | time_t dateStringToTimestamp(std::string date) function getSubInfoFromHeader (line 71) | bool getSubInfoFromHeader(const std::string &header, std::string &result) function getSubInfoFromNodes (line 86) | bool getSubInfoFromNodes(const std::vector &nodes, const RegexMat... function getSubInfoFromSSD (line 180) | bool getSubInfoFromSSD(const std::string &sub, std::string &result) FILE: src/parser/subparser.cpp function commonConstruct (line 28) | void commonConstruct(Proxy &node, ProxyType type, const std::string &gro... function vmessConstruct (line 42) | void vmessConstruct(Proxy &node, const std::string &group, const std::st... function ssrConstruct (line 66) | void ssrConstruct(Proxy &node, const std::string &group, const std::stri... function ssConstruct (line 77) | void ssConstruct(Proxy &node, const std::string &group, const std::strin... function socksConstruct (line 86) | void socksConstruct(Proxy &node, const std::string &group, const std::st... function httpConstruct (line 93) | void httpConstruct(Proxy &node, const std::string &group, const std::str... function trojanConstruct (line 101) | void trojanConstruct(Proxy &node, const std::string &group, const std::s... function snellConstruct (line 111) | void snellConstruct(Proxy &node, const std::string &group, const std::st... function wireguardConstruct (line 120) | void wireguardConstruct(Proxy &node, const std::string &group, const std... function hysteriaConstruct (line 135) | void hysteriaConstruct( function hysteria2Construct (line 211) | void hysteria2Construct( function explodeVmess (line 253) | void explodeVmess(std::string vmess, Proxy &node) function explodeVmessConf (line 323) | void explodeVmessConf(std::string content, std::vector &nodes) function explodeSS (line 471) | void explodeSS(std::string ss, Proxy &node) function explodeSSD (line 515) | void explodeSSD(std::string link, std::vector &nodes) function explodeSSAndroid (line 591) | void explodeSSAndroid(std::string ss, std::vector &nodes) function explodeSSConf (line 628) | void explodeSSConf(std::string content, std::vector &nodes) function explodeSSR (line 665) | void explodeSSR(std::string ssr, Proxy &node) function explodeSSRConf (line 702) | void explodeSSRConf(std::string content, std::vector &nodes) function explodeSocks (line 766) | void explodeSocks(std::string link, Proxy &node) function explodeHTTP (line 815) | void explodeHTTP(const std::string &link, Proxy &node) function explodeHTTPSub (line 835) | void explodeHTTPSub(std::string link, Proxy &node) function explodeTrojan (line 871) | void explodeTrojan(std::string trojan, Proxy &node) function explodeQuan (line 925) | void explodeQuan(const std::string &quan, Proxy &node) function explodeNetch (line 992) | void explodeNetch(std::string netch, Proxy &node) function explodeClash (line 1094) | void explodeClash(Node yamlnode, std::vector &nodes) function explodeStdVMess (line 1382) | void explodeStdVMess(std::string vmess, Proxy &node) function explodeShadowrocket (line 1425) | void explodeShadowrocket(std::string rocket, Proxy &node) function explodeKitsunebi (line 1469) | void explodeKitsunebi(std::string kit, Proxy &node) function explodeStdHysteria2 (line 1508) | void explodeStdHysteria2(std::string hysteria2, Proxy &node) { function explodeHysteria2 (line 1558) | void explodeHysteria2(std::string hysteria2, Proxy &node) { function parsePeers (line 1570) | void parsePeers(Proxy &node, const std::string &data) function explodeSurge (line 1604) | bool explodeSurge(std::string surge, std::vector &nodes) function explodeSSTap (line 2320) | void explodeSSTap(std::string sstap, std::vector &nodes) function explodeNetchConf (line 2378) | void explodeNetchConf(std::string netch, std::vector &nodes) function explodeConfContent (line 2401) | int explodeConfContent(const std::string &content, std::vector &n... function explode (line 2448) | void explode(const std::string &link, Proxy &node) function explodeSub (line 2470) | void explodeSub(std::string sub, std::vector &nodes) FILE: src/parser/subparser.h type class (line 8) | enum class FILE: src/script/cron.cpp type script_info (line 17) | struct script_info function timeout_checker (line 24) | int timeout_checker(JSRuntime *rt, void *opaque) function refresh_schedule (line 35) | void refresh_schedule() function list_cron_schedule (line 74) | std::string list_cron_schedule(RESPONSE_CALLBACK_ARGS) function cron_tick (line 111) | size_t cron_tick() FILE: src/script/script.cpp function foldPathString (line 18) | std::string foldPathString(const std::string &path) function duktape_get_arguments_str (line 47) | static int duktape_get_arguments_str(duk_context *ctx, duk_idx_t min_cou... function duk_ret_t (line 64) | duk_ret_t cb_resolve_module(duk_context *ctx) function duk_ret_t (line 89) | duk_ret_t cb_load_module(duk_context *ctx) function duk_ret_t (line 100) | static duk_ret_t native_print(duk_context *ctx) function duk_ret_t (line 109) | static duk_ret_t fetch(duk_context *ctx) function duk_ret_t (line 133) | static duk_ret_t atob(duk_context *ctx) function duk_ret_t (line 140) | static duk_ret_t btoa(duk_context *ctx) function duk_ret_t (line 148) | static duk_ret_t getGeoIP(duk_context *ctx) function duk_context (line 161) | duk_context *duktape_init() function duktape_peval (line 187) | int duktape_peval(duk_context *ctx, const std::string &script) function duktape_call_function (line 192) | int duktape_call_function(duk_context *ctx, const std::string &name, siz... function duktape_push_nodeinfo (line 211) | int duktape_push_nodeinfo(duk_context *ctx, const nodeInfo &node) function duktape_push_nodeinfo_arr (line 227) | int duktape_push_nodeinfo_arr(duk_context *ctx, const nodeInfo &node, du... function duktape_get_res_int (line 248) | int duktape_get_res_int(duk_context *ctx) function duktape_get_res_str (line 255) | std::string duktape_get_res_str(duk_context *ctx) function duktape_get_res_bool (line 264) | bool duktape_get_res_bool(duk_context *ctx) function duktape_get_err_stack (line 271) | std::string duktape_get_err_stack(duk_context *ctx) FILE: src/script/script_quickjs.cpp class qjs_fetch_Headers (line 192) | class qjs_fetch_Headers method qjs_fetch_Headers (line 195) | qjs_fetch_Headers() = default; method append (line 199) | void append(const std::string &key, const std::string &value) method parse_from_string (line 203) | void parse_from_string(const std::string &data) class qjs_fetch_Request (line 220) | class qjs_fetch_Request method qjs_fetch_Request (line 223) | qjs_fetch_Request() = default; method qjs_fetch_Request (line 230) | explicit qjs_fetch_Request(std::string url) : url(std::move(url)) {} class qjs_fetch_Response (line 233) | class qjs_fetch_Response method qjs_fetch_Response (line 236) | qjs_fetch_Response() = default; type qjs (line 243) | namespace qjs type detail (line 245) | namespace detail type js_traits (line 252) | struct js_traits method unwrap (line 254) | static detail::string_icase_map unwrap(JSContext *ctx, JSValueConst v) method JSValue (line 277) | static JSValue wrap(JSContext *ctx, const detail::string_icase_map &... type js_traits (line 291) | struct js_traits method qjs_fetch_Headers (line 293) | static qjs_fetch_Headers unwrap(JSContext *ctx, JSValueConst v) method JSValue (line 299) | static JSValue wrap(JSContext *ctx, const qjs_fetch_Headers &h) type js_traits (line 308) | struct js_traits method qjs_fetch_Request (line 310) | static qjs_fetch_Request unwrap(JSContext *ctx, JSValueConst v) type js_traits (line 324) | struct js_traits method JSValue (line 326) | static JSValue wrap(JSContext *ctx, const qjs_fetch_Response &r) noe... function makeDataURI (line 338) | static std::string makeDataURI(const std::string &content, bool shouldBa... function qjs_fetch_Response (line 346) | static qjs_fetch_Response qjs_fetch(qjs_fetch_Request request) method qjs_fetch_Response (line 236) | qjs_fetch_Response() = default; function qjs_getUrlArg (line 378) | static std::string qjs_getUrlArg(const std::string &url, const std::stri... function getGeoIP (line 383) | std::string getGeoIP(const std::string &address, const std::string &proxy) function script_runtime_init (line 388) | void script_runtime_init(qjs::Runtime &runtime) function ShowMsgbox (line 393) | int ShowMsgbox(const std::string &title, const std::string &content, uin... type Lambda (line 405) | struct Lambda { method Tret (line 407) | static Tret lambda_ptr_exec(Targs... args) { method Tfp (line 412) | static Tfp ptr(T& t) { function currentTime (line 426) | uint32_t currentTime() function script_context_init (line 431) | int script_context_init(qjs::Context &context) function script_cleanup (line 536) | int script_cleanup(qjs::Context &context) function script_print_stack (line 543) | void script_print_stack(qjs::Context &context) FILE: src/script/script_quickjs.h function JSValue (line 16) | inline JSValue JS_NewString(JSContext *ctx, const std::string& str) function std (line 21) | inline std::string JS_GetPropertyIndexToString(JSContext *ctx, JSValueCo... function namespace (line 31) | namespace qjs FILE: src/server/socket.h type sockaddr (line 35) | typedef sockaddr *LPSOCKADDR; FILE: src/server/webserver.h type Request (line 13) | struct Request type Response (line 22) | struct Response type listener_args (line 33) | struct listener_args type responseRoute (line 43) | struct responseRoute function append_response (line 67) | void append_response(const std::string &method, const std::string &uri, ... function append_redirect (line 77) | void append_redirect(const std::string &uri, const std::string &target) function reset_redirect (line 82) | void reset_redirect() FILE: src/server/webserver_httplib.cpp function is_request_header_blacklisted (line 17) | static inline bool is_request_header_blacklisted(const std::string &header) function makeHandler (line 34) | static httplib::Server::Handler makeHandler(const responseRoute &rr) function dump (line 83) | static std::string dump(const httplib::Headers &headers) FILE: src/server/webserver_libevent.cpp class Pointer (line 25) | class Pointer function Pointer (line 26) | Pointer deduced_wrap( type MIME_type (line 42) | struct MIME_type function matchSpaceSeparatedList (line 59) | bool matchSpaceSeparatedList(const std::string& source, const std::strin... function checkMIMEType (line 74) | std::string checkMIMEType(const std::string &filename) function serveFile (line 90) | int serveFile(WebServer *server, const std::string &filename, std::strin... function buffer_cleanup (line 106) | static inline void buffer_cleanup(struct evbuffer *eb) function process_request (line 115) | static int process_request(WebServer *server, Request &request, Response... function on_request (line 190) | static void on_request(evhttp_request *req, void *args) function httpserver_bindsocket (line 344) | static int httpserver_bindsocket(std::string listen_address, int listen_... type event_base (line 393) | struct event_base type evhttp (line 399) | struct evhttp FILE: src/utils/base64/base64.cpp function base64Encode (line 10) | std::string base64Encode(const std::string &string_to_encode) function base64Decode (line 59) | std::string base64Decode(const std::string &encoded_string, bool accept_... function urlSafeBase64Reverse (line 131) | std::string urlSafeBase64Reverse(const std::string &encoded_string) function urlSafeBase64Apply (line 136) | std::string urlSafeBase64Apply(const std::string &encoded_string) function urlSafeBase64Decode (line 141) | std::string urlSafeBase64Decode(const std::string &encoded_string) function urlSafeBase64Encode (line 146) | std::string urlSafeBase64Encode(const std::string &string_to_encode) FILE: src/utils/checkpoint.h function checkpoint (line 9) | inline void checkpoint() FILE: src/utils/codepage.cpp function acpToUTF8 (line 9) | std::string acpToUTF8(const std::string &str_src) function utf8ToACP (line 52) | std::string utf8ToACP(const std::string &str_src) FILE: src/utils/defer.h function __defer_struct (line 6) | __defer_struct final {private: T fn; bool __cancelled = false; public: e... FILE: src/utils/file.cpp function isInScope (line 7) | bool isInScope(const std::string &path) function fileGet (line 20) | std::string fileGet(const std::string &path, bool scope_limit) function fileExist (line 61) | bool fileExist(const std::string &path, bool scope_limit) function fileCopy (line 71) | bool fileCopy(const std::string &source, const std::string &dest) function fileWrite (line 94) | int fileWrite(const std::string &path, const std::string &content, bool ... FILE: src/utils/file.h type dirent (line 30) | struct dirent function md (line 43) | inline int md(const char *path) FILE: src/utils/file_extra.h function std (line 8) | inline std::string fileToBase64(const std::string &filepath) function std (line 13) | inline std::string fileGetMD5(const std::string &filepath) FILE: src/utils/ini_reader/ini_reader.h function class (line 24) | class INIReader function explicit (line 143) | explicit INIReader(const std::string &filePath) function exclude_section (line 184) | void exclude_section(const std::string §ion) function include_section (line 192) | void include_section(const std::string §ion) function add_direct_save_section (line 200) | void add_direct_save_section(const std::string §ion) function set_isolated_items_section (line 208) | void set_isolated_items_section(const std::string §ion) function parse (line 218) | int parse(std::string content) //parse content into mapped data function parse_file (line 338) | int parse_file(const std::string &filePath) function section_exist (line 348) | bool section_exist(const std::string §ion) function section_count (line 356) | unsigned int section_count() function string_array (line 364) | string_array get_section_names() function enter_section (line 372) | int enter_section(const std::string §ion) function set_current_section (line 384) | void set_current_section(const std::string §ion) function item_exist (line 392) | bool item_exist(const std::string §ion, const std::string &itemName) function item_exist (line 409) | bool item_exist(const std::string &itemName) function item_prefix_exists (line 417) | bool item_prefix_exists(const std::string §ion, const std::string &i... function item_prefix_exist (line 438) | bool item_prefix_exist(const std::string &itemName) function item_count (line 446) | unsigned int item_count(const std::string §ion) function erase_all (line 457) | void erase_all() function get_items (line 482) | int get_items(const std::string §ion, string_multimap &data) function get_items (line 495) | int get_items(string_multimap &data) function get_all (line 503) | int get_all(const std::string §ion, const std::string &itemName, str... function get_if_exist (line 562) | int get_if_exist(const std::string §ion, const std::string &itemName... function get_if_exist (line 579) | int get_if_exist(const std::string &itemName, std::string &target) function get_bool (line 587) | bool get_bool(const std::string §ion, const std::string &itemName) function get_bool (line 595) | bool get_bool(const std::string &itemName) function get_bool_if_exist (line 603) | int get_bool_if_exist(const std::string §ion, const std::string &ite... function get_bool_if_exist (line 617) | int get_bool_if_exist(const std::string &itemName, bool &target) function get_int_if_exist (line 647) | int get_int_if_exist(const std::string §ion, const std::string &item... function get_int_if_exist (line 655) | int get_int_if_exist(const std::string &itemName, int &target) function get_int (line 663) | int get_int(const std::string §ion, const std::string &itemName) function get_int (line 671) | int get_int(const std::string &itemName) function set (line 723) | int set(const std::string §ion, std::string itemName, std::string it... function set (line 750) | int set(std::string itemName, std::string itemVal) function set_bool (line 760) | int set_bool(const std::string §ion, std::string itemName, bool item... function set_bool (line 768) | int set_bool(std::string itemName, bool itemVal) function set_double (line 776) | int set_double(const std::string §ion, std::string itemName, double ... function set_double (line 784) | int set_double(std::string itemName, double itemVal) function set_long (line 792) | int set_long(const std::string §ion, std::string itemName, long item... function set_long (line 800) | int set_long(std::string itemName, long itemVal) function rename_section (line 827) | int rename_section(const std::string &oldName, const std::string& newName) function erase (line 841) | int erase(const std::string §ion, const std::string &itemName) function erase (line 857) | int erase(const std::string &itemName) function erase_first (line 865) | int erase_first(const std::string §ion, const std::string &itemName) function erase_first (line 883) | int erase_first(const std::string &itemName) function erase_section (line 891) | void erase_section(const std::string §ion) function erase_section (line 906) | void erase_section() function remove_section (line 915) | void remove_section(const std::string §ion) function remove_section (line 931) | void remove_section() function to_file (line 979) | int to_file(const std::string &filePath) FILE: src/utils/lock.h function class (line 7) | class RWLock FILE: src/utils/logger.cpp function getTime (line 13) | std::string getTime(int type) function get_thread_name (line 41) | static std::string get_thread_name() function writeLog (line 63) | void writeLog(int type, const std::string &content, int level) function demangle (line 79) | std::string demangle(const char* name) function demangle (line 91) | std::string demangle(const char* name) FILE: src/utils/logger.h function string (line 37) | string type(const T& t) { FILE: src/utils/map_extra.h type strICaseComp (line 8) | struct strICaseComp FILE: src/utils/md5/md5.cpp type md5 (line 7) | namespace md5 { function cyclic_left_rotate (line 34) | inline uint32_t cyclic_left_rotate(uint32_t data, uint32_t shift_bits) { function F (line 38) | inline uint32_t F(uint32_t x, uint32_t y, uint32_t z) {return (x & y) ... function G (line 39) | inline uint32_t G(uint32_t x, uint32_t y, uint32_t z) {return (x & z) ... function H (line 40) | inline uint32_t H(uint32_t x, uint32_t y, uint32_t z) {return x ^ y ^ z;} function I (line 41) | inline uint32_t I(uint32_t x, uint32_t y, uint32_t z) {return y ^ (x |... function FF (line 43) | inline void FF(uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32... function GG (line 57) | inline void GG(uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32... function HH (line 71) | inline void HH(uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32... function II (line 84) | inline void II(uint32_t &a, uint32_t b, uint32_t c, uint32_t d, uint32... function sig_to_string (line 597) | void sig_to_string(const void* signature_, char* str_, const int str_l... function sig_from_string (line 640) | void sig_from_string(void* signature_, const char* str_) { FILE: src/utils/md5/md5.h function namespace (line 13) | namespace md5 { FILE: src/utils/md5/md5_interface.h function std (line 8) | inline std::string getMD5(const std::string &data) FILE: src/utils/network.cpp function hostnameToIPAddr (line 9) | std::string hostnameToIPAddr(const std::string &host) function isIPv4 (line 44) | bool isIPv4(const std::string &address) function isIPv6 (line 49) | bool isIPv6(const std::string &address) function urlParse (line 60) | void urlParse(std::string &url, std::string &host, std::string &path, in... function getFormData (line 101) | std::string getFormData(const std::string &raw_data) FILE: src/utils/network.h function isLink (line 15) | inline bool isLink(const std::string &url) FILE: src/utils/rapidjson_extra.h function operator (line 22) | inline void operator >> (const rapidjson::Value &value, std::string &i) function operator (line 38) | inline void operator >> (const rapidjson::Value &value, int &i) function std (line 52) | inline std::string GetMember(const rapidjson::Value &value, const std::s... function GetMember (line 60) | inline void GetMember(const rapidjson::Value &value, const std::string &... function rapidjson (line 83) | inline rapidjson::Value buildBooleanValue(bool value) function namespace (line 88) | namespace rapidjson_ext { FILE: src/utils/regexp.cpp function regMatch (line 134) | bool regMatch(const std::string &src, const std::string &match) function regFind (line 143) | bool regFind(const std::string &src, const std::string &match) function regReplace (line 152) | std::string regReplace(const std::string &src, const std::string &match,... function regValid (line 161) | bool regValid(const std::string ®) function regGetMatch (line 168) | int regGetMatch(const std::string &src, const std::string &match, size_t... function regGetAllMatch (line 190) | std::vector regGetAllMatch(const std::string &src, const st... function regTrim (line 222) | std::string regTrim(const std::string &src) FILE: src/utils/stl_extra.h function eraseElements (line 6) | void eraseElements(std::vector &target) function none_of (line 35) | bool none_of(const ConstIterableContainer &container, std::function split(const std::string &s, const std::string &... function split (line 28) | void split(std::vector &result, std::string_view s, ch... function split (line 41) | std::vector split(std::string_view s, char separator) function UTF8ToCodePoint (line 48) | std::string UTF8ToCodePoint(const std::string &data) function toLower (line 77) | std::string toLower(const std::string &str) function toUpper (line 84) | std::string toUpper(const std::string &str) function processEscapeChar (line 91) | void processEscapeChar(std::string &str) function processEscapeCharReverse (line 118) | void processEscapeCharReverse(std::string &str) function parseCommaKeyValue (line 142) | int parseCommaKeyValue(const std::string &input, const std::string &sepa... function trimSelfOf (line 179) | void trimSelfOf(std::string &str, char target, bool before, bool after) function trimOf (line 193) | std::string trimOf(const std::string& str, char target, bool before, boo... function trim (line 214) | std::string trim(const std::string& str, bool before, bool after) function trimQuote (line 219) | std::string trimQuote(const std::string &str, bool before, bool after) function trimWhitespace (line 224) | std::string trimWhitespace(const std::string &str, bool before, bool after) function getUrlArg (line 243) | std::string getUrlArg(const std::string &url, const std::string &request) function getUrlArg (line 296) | std::string getUrlArg(const string_multimap &args, const std::string &re... function replaceAllDistinct (line 304) | std::string replaceAllDistinct(std::string str, const std::string &old_v... function removeUTF8BOM (line 316) | void removeUTF8BOM(std::string &data) function isStrUTF8 (line 322) | bool isStrUTF8(const std::string &data) function randomStr (line 360) | std::string randomStr(int len) function to_int (line 385) | int to_int(const std::string &str, int def_value) function join (line 403) | std::string join(const string_array &arr, const std::string &delimiter) FILE: src/utils/string.h function string (line 24) | string join(InputIt first, InputIt last, const std::string &delimiter) function strFind (line 52) | inline bool strFind(const std::string &str, const std::string &target) function startsWith (line 59) | inline bool startsWith(const std::string &hay, const std::string &needle) function endsWith (line 64) | inline bool endsWith(const std::string &hay, const std::string &needle) function startsWith (line 71) | inline bool startsWith(const std::string &hay, const std::string &needle) function endsWith (line 76) | inline bool endsWith(const std::string &hay, const std::string &needle) function count_least (line 84) | inline bool count_least(const std::string &hay, const char needle, size_... function getLineBreak (line 97) | inline char getLineBreak(const std::string &str) function namespace (line 152) | namespace std FILE: src/utils/string_hash.h function hash_t (line 14) | hash_t ret{basis}; function hash_t (line 24) | inline hash_t hash_(const std::string &str) function hash_t (line 29) | constexpr hash_t hash_compile_time(char const* str, hash_t last_value = ... function _hash (line 34) | constexpr unsigned long long operator "" _hash(char const* p, size_t) FILE: src/utils/system.cpp function sleepMs (line 15) | void sleepMs(int interval) function getEnv (line 30) | std::string getEnv(const std::string &name) function getSystemProxy (line 45) | std::string getSystemProxy() FILE: src/utils/tribool.h function class (line 9) | class tribool function operator (line 25) | bool operator==(const tribool& other) const { return value_ == other.val... function tribool (line 43) | tribool reverse() function set (line 80) | bool set(const std::string& str) function clear (line 102) | void clear() { value_ = indeterminate; } type value_type (line 105) | enum value_type : char { indeterminate = 0, false_value = 1, true_value ... FILE: src/utils/urlencode.cpp function toHex (line 5) | unsigned char toHex(unsigned char x) function fromHex (line 10) | unsigned char fromHex(unsigned char x) function urlEncode (line 24) | std::string urlEncode(const std::string& str) function urlDecode (line 46) | std::string urlDecode(const std::string& str) function joinArguments (line 73) | std::string joinArguments(const string_multimap &args) FILE: src/utils/yamlcpp_extra.h function std (line 28) | inline std::string dump_to_pairs (const YAML::Node &node, const string_a...