|
| 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...
|
| |