|
using | _char8_t = unsigned char |
|
template<typename Input > |
using | _default_location_counting = decltype(_compute_default_location_counting< Input >()) |
|
template<typename Container > |
using | _detect_append = decltype(LEXY_DECLVAL(Container &).append(LEXY_DECLVAL(Container &&))) |
|
template<typename T > |
using | _detect_callback = typename T::return_type |
|
template<typename T , typename... Args> |
using | _detect_callback_for = decltype(LEXY_DECLVAL(const T)(LEXY_DECLVAL(Args)...)) |
|
template<typename T , typename State > |
using | _detect_callback_state = decltype(LEXY_DECLVAL(const T)[LEXY_DECLVAL(State &)]) |
|
template<typename T , typename State , typename... Args> |
using | _detect_callback_with_state_for = decltype(LEXY_DECLVAL(const T)[LEXY_DECLVAL(State &)](LEXY_DECLVAL(Args)...)) |
|
template<typename Input > |
using | _detect_input_data = decltype(LEXY_DECLVAL(Input &).data()) |
|
template<typename Production > |
using | _detect_max_recursion_depth = decltype(Production::max_recursion_depth) |
|
template<typename T > |
using | _detect_optional_like = decltype(T(), *LEXY_DECLVAL(T &), !LEXY_DECLVAL(const T &)) |
|
template<typename Input > |
using | _detect_parent_input = decltype(LEXY_DECLVAL(Input).parent_input()) |
|
template<typename Container > |
using | _detect_reserve = decltype(LEXY_DECLVAL(Container &).reserve(std::size_t())) |
|
template<typename T , typename... Args> |
using | _detect_sink = decltype(LEXY_DECLVAL(const T).sink(LEXY_DECLVAL(Args)...).finish()) |
|
template<typename T , typename... Args> |
using | _detect_sink_callback_for = decltype(LEXY_DECLVAL(T &)(LEXY_DECLVAL(Args)...)) |
|
template<typename Production > |
using | _detect_value = decltype(Production::value) |
|
template<typename ParseState , typename Production > |
using | _detect_value_of = typename decltype(LEXY_DECLVAL(ParseState &).value_of(Production{}))::return_type |
|
template<typename Production > |
using | _detect_whitespace = decltype(Production::whitespace) |
|
template<typename T > |
using | _enable_production_or_operation = std::enable_if_t< is_production< T >||is_operation< T > > |
|
template<typename Callback > |
using | _error_sink_t = decltype(_get_error_sink(LEXY_DECLVAL(Callback))) |
|
template<typename Fn > |
using | _fn_as_base = std::conditional_t< std::is_class_v< Fn >, Fn, _fn_holder< Fn > > |
|
template<typename Handler , typename State , typename Production > |
using | _production_value_type = typename Handler::template value_callback< Production, State >::return_type |
|
template<typename String > |
using | _string_char_type = LEXY_DECAY_DECLTYPE(LEXY_DECLVAL(String)[0]) |
|
template<typename View > |
using | _string_view_char_type = LEXY_DECAY_DECLTYPE(*LEXY_DECLVAL(View).data()) |
|
template<typename Production , typename Action > |
using | _subgrammar_for = _subgrammar< Production, typename Action::handler, typename Action::state, lexy::input_reader< typename Action::input > > |
|
template<typename Reader > |
using | _sucfr_for = std::conditional_t< std::is_same_v< typename Reader::encoding, lexy::utf32_encoding >, _sucfr32< Reader >, _sucfrm< Reader > > |
|
template<typename Production > |
using | _whitespace_production_of = std::conditional_t< _production_defines_whitespace< Production >, Production, void > |
|
template<typename Tag , typename Encoding = default_encoding> |
using | argv_error = error_for< argv_input< Encoding >, Tag > |
|
template<typename Encoding = default_encoding> |
using | argv_error_context = error_context< argv_input< Encoding > > |
|
template<typename Encoding = default_encoding> |
using | argv_lexeme = lexeme_for< argv_input< Encoding > > |
|
template<typename BranchRule , typename Reader > |
using | branch_parser_for = typename BranchRule::template bp< Reader > |
|
template<typename Tag , typename Encoding = default_encoding, typename MemoryResource = void> |
using | buffer_error = error_for< buffer< Encoding, MemoryResource >, Tag > |
|
template<typename Encoding = default_encoding, typename MemoryResource = void> |
using | buffer_error_context = error_context< buffer< Encoding, MemoryResource > > |
|
template<typename Encoding = default_encoding, typename MemoryResource = void> |
using | buffer_lexeme = lexeme_for< buffer< Encoding, MemoryResource > > |
|
template<typename CharT > |
using | deduce_encoding = typename _deduce_encoding< CharT >::type |
|
template<typename Input , typename Tag > |
using | error_for = error< input_reader< Input >, Tag > |
|
template<typename Input > |
using | input_reader = decltype(LEXY_DECLVAL(Input).reader()) |
|
template<typename Input > |
using | lexeme_for = lexeme< input_reader< Input > > |
|
template<auto Ptr> |
using | make_member_ptr = member< _mem_ptr_fn< Ptr > > |
|
template<const auto & Operator> |
using | op = typename LEXY_DECAY_DECLTYPE(Operator)::op_tag_type |
|
template<typename Tag , typename Node > |
using | parse_tree_error = error_for< parse_tree_input< Node >, Tag > |
|
template<typename Node > |
using | parse_tree_error_context = error_context< parse_tree_input< Node > > |
|
template<typename Input , typename TokenKind = void, typename MemoryResource = void> |
using | parse_tree_for = lexy::parse_tree< lexy::input_reader< Input >, TokenKind, MemoryResource > |
|
template<typename Node > |
using | parse_tree_lexeme = lexeme_for< parse_tree_input< Node > > |
|
template<typename Rule , typename NextParser > |
using | parser_for = typename Rule::template p< NextParser > |
|
template<typename Production , typename Reader > |
using | production_branch_parser = _pb< Production, Reader > |
|
template<typename Production > |
using | production_rule = LEXY_DECAY_DECLTYPE(Production::rule) |
|
template<typename Production , typename WhitespaceProduction > |
using | production_whitespace = decltype(_production_whitespace< Production, WhitespaceProduction >()) |
|
template<typename Sink , typename... Args> |
using | sink_callback = decltype(LEXY_DECLVAL(Sink).sink(LEXY_DECLVAL(Args)...)) |
| Returns the type of the .sink() function. More...
|
|
template<typename Tag , typename Encoding = default_encoding> |
using | string_error = error_for< string_input< Encoding >, Tag > |
|
template<typename Encoding = default_encoding> |
using | string_error_context = error_context< string_input< Encoding > > |
|
template<typename Encoding = default_encoding> |
using | string_lexeme = lexeme_for< string_input< Encoding > > |
|
template<typename Input , typename TokenKind = void> |
using | token_for = token< lexy::input_reader< Input >, TokenKind > |
|
template<typename TokenRule , typename Reader > |
using | token_parser_for = typename TokenRule::template tp< Reader > |
|
|
template<typename Encoding > |
constexpr auto | _buffer_reader (const typename Encoding::char_type *data) |
|
template<typename Input > |
auto | _compute_default_location_counting () |
|
template<typename Integer > |
constexpr std::size_t | _digit_count (int radix, Integer value) |
|
template<typename Handler , typename State , typename Production , typename Reader > |
constexpr auto | _do_action (_pc< Handler, State, Production > &context, Reader &reader) |
|
template<typename Callback > |
constexpr auto | _get_error_sink (const Callback &callback) |
|
template<typename Input > |
constexpr void | _get_input_line_annotation (input_line_annotation< Input > &result, lexy::lexeme_for< Input > line, lexy::lexeme_for< Input > newline, typename lexy::input_reader< Input >::iterator begin, typename lexy::input_reader< Input >::iterator end) |
|
template<typename... Op> |
constexpr auto | _make_overloaded (Op &&... op) |
|
template<typename Production , typename WhitespaceProduction > |
auto | _production_whitespace () |
|
template<typename Encoding , typename Iterator , typename Sentinel > |
constexpr auto | _range_reader (Iterator begin, Sentinel end) |
|
constexpr argv_iterator | argv_begin (int argc, char *argv[]) noexcept |
| Returns an iterator to the beginning of the command-line arguments. More...
|
|
constexpr argv_iterator | argv_end (int argc, char *argv[]) noexcept |
| Returns an iterator one past the end of the command-line arguments. More...
|
|
| argv_input (int argc, char *argv[]) -> argv_input<> |
|
template<typename Callback , typename... BoundArgs> |
constexpr auto | bind (Callback &&callback, BoundArgs &&... args) |
| Binds the operator() of the callback with pre-defined/remapped values. More...
|
|
template<typename Sink , typename... BoundArgs> |
constexpr auto | bind_sink (Sink &&sink, BoundArgs &&... args) |
|
template<typename CharT > |
| buffer (const CharT *, const CharT *) -> buffer< deduce_encoding< CharT >> |
|
template<typename CharT , typename MemoryResource > |
| buffer (const CharT *, const CharT *, MemoryResource *) -> buffer< deduce_encoding< CharT >, MemoryResource > |
|
template<typename CharT > |
| buffer (const CharT *, std::size_t) -> buffer< deduce_encoding< CharT >> |
|
template<typename CharT , typename MemoryResource > |
| buffer (const CharT *, std::size_t, MemoryResource *) -> buffer< deduce_encoding< CharT >, MemoryResource > |
|
template<typename View > |
| buffer (const View &) -> buffer< deduce_encoding< LEXY_DECAY_DECLTYPE(*LEXY_DECLVAL(View).data())>> |
|
template<typename View , typename MemoryResource > |
| buffer (const View &, MemoryResource *) -> buffer< deduce_encoding< LEXY_DECAY_DECLTYPE(*LEXY_DECLVAL(View).data())>, MemoryResource > |
|
template<typename... Fns> |
constexpr auto | callback (Fns &&... fns) |
| Creates a callback. More...
|
|
template<typename ReturnType , typename... Fns> |
constexpr auto | callback (Fns &&... fns) |
|
template<typename Sink , typename = lexy::sink_callback<Sink>> |
constexpr auto | callback (Sink &&sink) |
| Creates a callback that forwards all arguments to the sink. More...
|
|
template<typename... Fns> |
constexpr auto | callback_with_state (Fns &&... fns) |
| Creates a callback that also receives the parse state. More...
|
|
template<typename ReturnType , typename... Fns> |
constexpr auto | callback_with_state (Fns &&... fns) |
|
template<typename Callback > |
constexpr auto | collect (Callback &&callback) |
|
template<typename Container , typename Callback > |
constexpr auto | collect (Callback &&callback) |
| Returns a sink that invokes the callback multiple times, storing each result in the container. More...
|
|
template<typename Arg > |
LEXY_CONSTEVAL auto | constant (Arg &&value) |
| Creates a callback that produces the given value without accepting arguments. More...
|
|
template<typename Production , template< typename > typename Result, typename Handler , typename State , typename Reader > |
constexpr auto | do_action (Handler &&handler, State *state, Reader &reader) |
|
template<typename T , typename Arg = T, typename... Op> |
constexpr auto | fold (Arg &&init, Op &&... op) |
| Sink that folds all the arguments with the binary operation op. More...
|
|
template<typename T , typename Arg = T, typename... Op> |
constexpr auto | fold_inplace (Arg &&init, Op &&... op) |
|
template<typename Input , typename Counting > |
constexpr auto | get_input_line_annotation (const Input &input, const input_location< Input, Counting > &begin_location, typename lexy::input_reader< Input >::iterator end) -> input_line_annotation< Input > |
|
template<typename Input , typename Counting > |
constexpr auto | get_input_line_annotation (const Input &input, const input_location< Input, Counting > &location, std::size_t size) |
| Computes the annotation for e.g. an error message covering [location, location + size). More...
|
|
template<typename Counting , typename Input > |
constexpr auto | get_input_location (const Input &input, typename lexy::input_reader< Input >::iterator position) |
|
template<typename Input > |
constexpr auto | get_input_location (const Input &input, typename lexy::input_reader< Input >::iterator position) |
|
template<typename Input > |
constexpr auto | get_input_location (const Input &input, typename lexy::input_reader< Input >::iterator position, input_location_anchor< Input > anchor) |
|
template<typename Counting , typename Input > |
constexpr auto | get_input_location (const Input &input, typename lexy::input_reader< Input >::iterator position, input_location_anchor< Input > anchor) -> input_location< Input, Counting > |
| The location for a position in the input; search starts at the anchor. More...
|
|
template<typename Reader > |
| lexeme (const Reader &, typename Reader::iterator) -> lexeme< typename Reader::canonical_reader > |
|
| LEXY_INSTANTIATION_NEWTYPE (_br32, _br, lexy::utf32_encoding) |
|
| LEXY_INSTANTIATION_NEWTYPE (_br8, _br, lexy::utf8_encoding) |
|
| LEXY_INSTANTIATION_NEWTYPE (_bra, _br, lexy::ascii_encoding) |
|
| LEXY_INSTANTIATION_NEWTYPE (_brc, _br, lexy::utf8_char_encoding) |
|
template<typename Encoding > |
| LEXY_INSTANTIATION_NEWTYPE (_pr, _rr, Encoding, const typename Encoding::char_type *) |
|
| LEXY_INSTANTIATION_NEWTYPE (_pr8, _pr, lexy::utf8_encoding) |
|
| LEXY_INSTANTIATION_NEWTYPE (_prb, _pr, lexy::byte_encoding) |
|
| LEXY_INSTANTIATION_NEWTYPE (_prc, _pr, lexy::utf8_char_encoding) |
|
| LEXY_INSTANTIATION_NEWTYPE (_prd, _pr, lexy::default_encoding) |
|
template<typename Input , typename MemoryResource = void> |
constexpr auto | make_buffer_from_input (const Input &input, MemoryResource *resource=_detail::get_memory_resource< MemoryResource >()) -> buffer< typename input_reader< Input >::encoding, MemoryResource > |
|
template<typename Production , typename Input > |
constexpr bool | match (const Input &input) |
|
template<typename Production , typename Input , typename State > |
constexpr bool | match (const Input &input, const State &state) |
|
template<typename Production , typename Input , typename State > |
constexpr bool | match (const Input &input, State &state) |
|
template<typename EntryProduction > |
LEXY_CONSTEVAL std::size_t | max_recursion_depth () |
|
template<typename MemFn , typename T > |
constexpr auto | mem_fn (MemFn T::*fn) |
| Creates a callback from a member function. More...
|
|
template<typename Sink , typename Callback , typename = _detect_callback<Callback>> |
constexpr auto | operator>> (Sink sink, Callback cb) |
| Composes a sink with a callback. More...
|
|
template<typename S , typename Cb , typename Second > |
constexpr auto | operator| (_compose_s< S, Cb > composed, Second second) |
|
template<typename First , typename Second , typename = _detect_callback<First>, typename = _detect_callback<Second>> |
constexpr auto | operator| (First first, Second second) |
| Composes two callbacks. More...
|
|
constexpr visualization_flags | operator| (visualization_flags lhs, visualization_flags rhs) noexcept |
|
template<typename Production , typename Input , typename ErrorCallback > |
constexpr auto | parse (const Input &input, const ErrorCallback &callback) |
| Parses the production into a value, invoking the callback on error. More...
|
|
template<typename Production , typename Input , typename State , typename ErrorCallback > |
constexpr auto | parse (const Input &input, const State &state, const ErrorCallback &callback) |
|
template<typename Production , typename Input , typename State , typename ErrorCallback > |
constexpr auto | parse (const Input &input, State &state, const ErrorCallback &callback) |
|
template<typename Production , typename TokenKind , typename MemoryResource , typename Input , typename ErrorCallback > |
auto | parse_as_tree (parse_tree< lexy::input_reader< Input >, TokenKind, MemoryResource > &tree, const Input &input, const ErrorCallback &callback) -> validate_result< ErrorCallback > |
|
template<typename Production , typename TokenKind , typename MemoryResource , typename Input , typename State , typename ErrorCallback > |
auto | parse_as_tree (parse_tree< lexy::input_reader< Input >, TokenKind, MemoryResource > &tree, const Input &input, const State &state, const ErrorCallback &callback) -> validate_result< ErrorCallback > |
|
template<typename Production , typename TokenKind , typename MemoryResource , typename Input , typename State , typename ErrorCallback > |
auto | parse_as_tree (parse_tree< lexy::input_reader< Input >, TokenKind, MemoryResource > &tree, const Input &input, State &state, const ErrorCallback &callback) -> validate_result< ErrorCallback > |
|
template<typename ParseTree > |
| parse_tree_input (const ParseTree &) -> parse_tree_input< LEXY_DECAY_DECLTYPE(LEXY_DECLVAL(ParseTree).root())> |
|
template<typename Reader > |
constexpr auto | partial_input (const Reader &, typename Reader::iterator begin, typename Reader::iterator end) |
|
template<typename Reader > |
constexpr auto | partial_input (const Reader &reader, typename Reader::iterator end) |
| Creates an input that only reads until the given end. More...
|
|
template<typename Production > |
const LEXY_CONSTEVAL char * | production_name () |
|
template<typename Iterator , typename Sentinel > |
| range_input (Iterator begin, Sentinel end) -> range_input< deduce_encoding< LEXY_DECAY_DECLTYPE(*begin)>, Iterator, Sentinel > |
|
template<typename Encoding = default_encoding, encoding_endianness Endian = encoding_endianness::bom, typename MemoryResource = void> |
auto | read_file (const char *path, MemoryResource *resource=_detail::get_memory_resource< MemoryResource >()) -> read_file_result< Encoding, MemoryResource > |
| Reads the file at the specified path into a buffer. More...
|
|
template<typename Encoding = default_encoding, encoding_endianness Endian = encoding_endianness::bom, typename MemoryResource = void> |
auto | read_stdin (MemoryResource *resource=_detail::get_memory_resource< MemoryResource >()) -> read_file_result< Encoding, MemoryResource > |
| Reads stdin into a buffer. More...
|
|
template<typename ControlProduction = void, typename Input , typename ErrorCallback > |
constexpr auto | scan (const Input &input, const ErrorCallback &callback) |
|
template<typename ControlProduction = void, typename Input , typename State , typename ErrorCallback > |
constexpr auto | scan (const Input &input, const State &state, const ErrorCallback &callback) |
|
template<typename ControlProduction = void, typename Input , typename State , typename ErrorCallback > |
constexpr auto | scan (const Input &input, State &state, const ErrorCallback &callback) |
|
template<typename T > |
| scan_result (_detail::lazy_init< T > &&) -> scan_result< T > |
|
template<typename T > |
| scan_result (T &&) -> scan_result< std::decay_t< T >> |
|
LEXY_UNICODE_CONSTEXPR code_point | simple_case_fold (code_point cp) noexcept |
|
template<typename CharT > |
| string_input (const CharT *begin, const CharT *end) -> string_input< deduce_encoding< CharT >> |
|
template<typename CharT > |
| string_input (const CharT *data, std::size_t size) -> string_input< deduce_encoding< CharT >> |
|
template<typename View > |
| string_input (const View &) -> string_input< deduce_encoding< _string_view_char_type< View >>> |
|
template<typename TokenKind , typename Reader > |
| token (token_kind< TokenKind >, lexy::lexeme< Reader >) -> token< Reader, TokenKind > |
|
template<typename TokenKind , typename Reader , typename = std::enable_if_t<std::is_integral_v<TokenKind>>> |
| token (TokenKind, lexy::lexeme< Reader >) -> token< Reader, void > |
|
template<typename TokenRule , typename Reader , typename = std::enable_if_t<_has_special_token_kind<TokenRule>>> |
| token (TokenRule, lexy::lexeme< Reader >) -> token< Reader, LEXY_DECAY_DECLTYPE(lexy::token_kind_of< TokenRule >)> |
|
template<typename TokenKind , typename = std::enable_if_t<std::is_integral_v<TokenKind>>> |
| token_kind (TokenKind) -> token_kind< void > |
|
template<typename TokenRule , typename = std::enable_if_t<_has_special_token_kind<TokenRule>>> |
| token_kind (TokenRule) -> token_kind< LEXY_DECAY_DECLTYPE(lexy::token_kind_of< TokenRule >)> |
|
template<typename T > |
constexpr const char * | token_kind_name (const T &) noexcept |
|
constexpr const char * | token_kind_name (predefined_token_kind kind) noexcept |
|
template<typename Production , typename TokenKind = void, typename Input , typename State > |
void | trace (std::FILE *file, const Input &input, const State &state, visualization_options opts={}) |
|
template<typename Production , typename TokenKind = void, typename Input , typename State > |
void | trace (std::FILE *file, const Input &input, State &state, visualization_options opts={}) |
|
template<typename Production , typename TokenKind = void, typename Input > |
void | trace (std::FILE *file, const Input &input, visualization_options opts={}) |
|
template<typename Production , typename TokenKind = void, typename OutputIt , typename Input , typename State > |
OutputIt | trace_to (OutputIt out, const Input &input, const State &state, visualization_options opts={}) |
|
template<typename Production , typename TokenKind = void, typename OutputIt , typename Input , typename State > |
OutputIt | trace_to (OutputIt out, const Input &input, State &state, visualization_options opts={}) |
|
template<typename Production , typename TokenKind = void, typename OutputIt , typename Input > |
OutputIt | trace_to (OutputIt out, const Input &input, visualization_options opts={}) |
|
template<typename TokenRule , typename Reader > |
constexpr LEXY_FORCE_INLINE auto | try_match_token (TokenRule, Reader &reader) |
|
template<typename Production , typename Input , typename ErrorCallback > |
constexpr auto | validate (const Input &input, const ErrorCallback &callback) -> validate_result< ErrorCallback > |
|
template<typename Production , typename Input , typename State , typename ErrorCallback > |
constexpr auto | validate (const Input &input, const State &state, const ErrorCallback &callback) -> validate_result< ErrorCallback > |
|
template<typename Production , typename Input , typename State , typename ErrorCallback > |
constexpr auto | validate (const Input &input, State &state, const ErrorCallback &callback) -> validate_result< ErrorCallback > |
|
template<typename T > |
std::size_t | visualization_display_width (const T &obj, visualization_options opts={}) |
|
template<typename T > |
void | visualize (std::FILE *file, const T &obj, visualization_options opts={}) |
| Writes the visualization to the FILE. More...
|
|
template<typename OutputIt , typename Tree , typename = decltype(LEXY_DECLVAL(Tree&).traverse())> |
OutputIt | visualize_to (OutputIt out, const Tree &tree, visualization_options opts={}) |
|
template<typename OutputIt > |
OutputIt | visualize_to (OutputIt out, lexy::code_point cp, visualization_options opts={}) |
|
template<typename OutputIt , typename Reader > |
OutputIt | visualize_to (OutputIt out, lexy::lexeme< Reader > lexeme, [[maybe_unused]] visualization_options opts={}) |
|
template<typename Encoding , typename CharT > |
constexpr string_input< Encoding > | zstring_input (const CharT *str) noexcept |
|
template<typename CharT > |
constexpr auto | zstring_input (const CharT *str) noexcept |
|
|
constexpr auto | _1 = nth_value<1> |
|
constexpr auto | _2 = nth_value<2> |
|
constexpr auto | _3 = nth_value<3> |
|
constexpr auto | _4 = nth_value<4> |
|
constexpr auto | _5 = nth_value<5> |
|
constexpr auto | _6 = nth_value<6> |
|
constexpr auto | _7 = nth_value<7> |
|
constexpr auto | _8 = nth_value<8> |
|
template<typename Container > |
constexpr auto | _has_append = _detail::is_detected<_detect_append, Container> |
|
template<typename Container > |
constexpr auto | _has_reserve = _detail::is_detected<_detect_reserve, Container> |
|
template<typename TokenRule > |
constexpr auto | _has_special_token_kind |
|
template<typename To , typename... Args> |
constexpr auto | _is_convertible = false |
|
template<typename To , typename Arg > |
constexpr auto | _is_convertible< To, Arg > = std::is_convertible_v<Arg, To> |
|
template<> |
constexpr auto | _is_convertible< void > = true |
|
template<typename Production > |
constexpr auto | _production_defines_whitespace = lexy::_detail::is_detected<_detect_whitespace, Production> |
|
template<typename... T> |
constexpr bool | _require_branch_rule = (is_branch_rule<T> && ...) |
|
template<typename T > |
constexpr auto | as_aggregate = _as_aggregate<T>{} |
| A callback with sink that creates an aggregate. More...
|
|
template<typename T > |
constexpr auto | as_collection = _collection<T>{} |
|
template<typename T > |
constexpr auto | as_integer = _int<T>{} |
|
template<typename Container > |
constexpr auto | as_list = _list<Container>{} |
|
template<typename String , typename Encoding = deduce_encoding<_string_char_type<String>>> |
constexpr auto | as_string = _as_string<String, Encoding>{} |
|
template<typename T > |
constexpr auto | bit_cast = _bit_cast<T>{} |
| std::bit_cast as a callback. More...
|
|
template<typename Reader , typename CharT > |
constexpr bool | char_type_compatible_with_reader |
|
template<typename Container > |
constexpr auto | concat = _concat<Container>{} |
|
template<typename T > |
constexpr auto | construct = _construct<T>{} |
| A callback that constructs an object of type T by forwarding the arguments. More...
|
|
constexpr auto | count = fold_inplace<std::size_t>(0u, [](std::size_t& result, auto&&...) { ++result; }) |
| Sink that counts all arguments. More...
|
|
template<typename T > |
constexpr auto | forward = _fwd<T>{} |
| A callback that just forwards an existing object. More...
|
|
template<typename Input > |
constexpr bool | input_is_view = std::is_trivially_copyable_v<Input> |
|
template<typename Encoding , typename Iterator , typename Sentinel > |
constexpr bool | input_is_view< range_input< Encoding, Iterator, Sentinel > > = true |
|
template<typename T > |
constexpr bool | is_branch_rule = std::is_base_of_v<dsl::branch_base, T> |
|
template<typename Encoding > |
constexpr auto | is_byte_encoding = std::is_same_v<Encoding, byte_encoding> |
|
template<typename T > |
constexpr bool | is_callback = _detail::is_detected<_detect_callback, T> |
|
template<typename T , typename... Args> |
constexpr bool | is_callback_for = _detail::is_detected<_detect_callback_for, std::decay_t<T>, Args...> |
|
template<typename T , typename State > |
constexpr bool | is_callback_state = _detail::is_detected<_detect_callback_state, T, std::decay_t<State>> |
|
template<typename T , typename State , typename... Args> |
constexpr bool | is_callback_with_state_for = _detail::is_detected<_detect_callback_with_state_for, std::decay_t<T>, State, Args...> |
|
template<typename T > |
constexpr bool | is_char_class_rule = std::is_base_of_v<dsl::_char_class_base, T> |
|
template<typename Encoding > |
constexpr auto | is_char_encoding = is_text_encoding<Encoding> || is_byte_encoding<Encoding> |
|
template<typename T > |
constexpr bool | is_literal_rule = std::is_base_of_v<dsl::_lit_base, T> |
|
template<typename T > |
constexpr bool | is_literal_set_rule = std::is_base_of_v<dsl::_lset_base, T> |
|
template<typename Encoding > |
constexpr auto | is_node_encoding = false |
|
template<typename Node > |
constexpr auto | is_node_encoding< parse_tree_encoding< Node > > = true |
|
template<typename T > |
constexpr auto | is_operation = std::is_base_of_v<lexy::dsl::_operation_base, T> |
|
template<typename Production > |
constexpr bool | is_production = _detail::is_detected<production_rule, Production> |
|
template<typename T > |
constexpr bool | is_rule = std::is_base_of_v<dsl::rule_base, T> |
|
template<typename T > |
constexpr auto | is_separator = std::is_base_of_v<lexy::dsl::_sep_base, T> |
|
template<typename T , typename... Args> |
constexpr bool | is_sink = _detail::is_detected<_detect_sink, T, Args...> |
|
template<typename T , typename... Args> |
constexpr bool | is_sink_callback_for = _detail::is_detected<_detect_sink_callback_for, std::decay_t<T>, Args...> |
|
template<typename Encoding > |
constexpr auto | is_text_encoding = is_unicode_encoding<Encoding> || std::is_same_v<Encoding, default_encoding> |
|
template<typename Production > |
constexpr bool | is_token_production = std::is_base_of_v<token_production, Production> |
|
template<typename T > |
constexpr bool | is_token_rule = std::is_base_of_v<dsl::_token_base, T> |
|
template<typename Production > |
constexpr bool | is_transparent_production = std::is_base_of_v<transparent_production, Production> |
|
template<typename T > |
constexpr bool | is_unconditional_branch_rule = std::is_base_of_v<dsl::unconditional_branch_base, T> |
|
template<typename Encoding > |
constexpr auto | is_unicode_encoding |
|
template<typename Encoding , encoding_endianness Endianness> |
constexpr auto | make_buffer_from_raw = _make_buffer<Encoding, Endianness>{} |
| Creates a buffer with the specified encoding/endianness from raw memory. More...
|
|
template<typename T , typename PtrT = T*> |
constexpr auto | new_ = _new<T, PtrT>{} |
| A callback that constructs an object of type T on the heap by forwarding the arguments. More...
|
|
constexpr void * | no_parse_state = nullptr |
|
constexpr auto | noop = _noop{} |
| A callback with sink that does nothing. More...
|
|
template<std::size_t N> |
constexpr auto | nth_value = _nth_value<N, void, void>{} |
| Placeholder for bind that expands to the nth value produced by the rule. More...
|
|
constexpr auto | parse_state = _parse_state<void>{} |
|
template<typename Production , typename ParseState = void> |
constexpr bool | production_has_value_callback |
|
constexpr struct lexy::scan_failed_t | scan_failed |
|
template<typename T > |
constexpr auto | symbol_table = _symbol_table<T, _detail::lit_no_case_fold>{} |
|
constexpr auto | token_kind_map = _tk_map_empty{} |
|
template<typename TokenKind > |
constexpr auto | token_kind_map_for = token_kind_map |
| A mapping of token rule to token kind; specialize for your own kinds. More...
|
|
template<> |
constexpr auto | token_kind_map_for< void > = token_kind_map |
|
template<typename TokenRule > |
constexpr auto | token_kind_of = lexy::unknown_token_kind |
| Specialize to define the token kind of a rule. More...
|
|
template<typename TokenRule > |
constexpr auto | token_kind_of< const TokenRule > = token_kind_of<TokenRule> |
|
constexpr auto | values = _detail::all_values_placeholder{} |
| Placeholder for bind that expands to all values produced by the rule. More...
|
|