Class Definition
Defined in File peglib.h
Nested Relationships
Nested Types
Class Documentation
-
class Definition
Public Functions
-
inline Definition()
-
inline Definition(const Definition &rhs)
-
inline Result parse(const char *s, size_t n, std::any &dt, const char *path = nullptr, Log log = nullptr) const
-
inline Result parse(const char *s, std::any &dt, const char *path = nullptr, Log log = nullptr) const
-
template<typename T>
inline Result parse_and_get_value(const char *s, size_t n, T &val, const char *path = nullptr, Log log = nullptr) const
-
template<typename T>
inline Result parse_and_get_value(const char *s, T &val, const char *path = nullptr, Log log = nullptr) const
-
template<typename T>
inline Result parse_and_get_value(const char *s, size_t n, std::any &dt, T &val, const char *path = nullptr, Log log = nullptr) const
-
template<typename T>
inline Result parse_and_get_value(const char *s, std::any &dt, T &val, const char *path = nullptr, Log log = nullptr) const
-
template<typename T>
inline Definition &operator,(T fn)
-
inline Definition &operator~()
-
inline bool is_token() const
Public Members
-
std::string name
-
const char *s_ = nullptr
-
std::pair<size_t, size_t> line_ = {1, 1}
-
size_t id = 0
-
std::function<void(const Context &c, const char *s, size_t n, size_t matchlen, std::any &value, std::any &dt)> leave
-
bool ignoreSemanticValue = false
-
bool enablePackratParsing = false
-
bool is_macro = false
-
std::vector<std::string> params
-
bool disable_action = false
-
bool is_left_recursive = false
-
bool can_be_empty = false
-
TracerEnter tracer_enter
-
TracerLeave tracer_leave
-
bool verbose_trace = false
-
TracerStartOrEnd tracer_start
-
TracerStartOrEnd tracer_end
-
std::string error_message
-
bool no_ast_opt = false
-
bool eoi_check = true
-
mutable bool collect_packrat_stats = false
-
mutable std::vector<Context::PackratStats> packrat_stats_
-
struct Result
-
inline Definition()