|
template<typename Left , typename Right > |
using | alternative_result = fcppt::parse::detail::alternative_result< fcppt::mpl::list::unique< fcppt::mpl::list::append< fcppt::parse::detail::alternative_list< Left >, fcppt::parse::detail::alternative_list< Right > > > > |
| The result type of an alternative parser.
|
|
template<typename Result , typename Ch , typename Skipper > |
using | base_unique_ptr = fcppt::unique_ptr< fcppt::parse::base< Result, Ch, Skipper > > |
| unique_ptr to fcppt::parse::base
|
|
template<typename Ch > |
using | basic_char_set_container = std::unordered_set< Ch > |
| The character set type.
|
|
using | char_ = fcppt::parse::basic_char< char > |
|
using | char_set = fcppt::parse::basic_char_set< char > |
|
using | column = fcppt::strong_typedef< std::uint64_t,_ > |
| The column type of a position.
|
|
template<typename Parser > |
using | deref_type = std::remove_cvref_t< fcppt::deref_type< Parser const > > |
| The dereferenced type of a parser.
|
|
template<typename Ch > |
using | error_variant = fcppt::variant::object< fcppt::parse::alternative_error< Ch >, fcppt::parse::basic_char_error< Ch >, fcppt::parse::basic_char_set_error< Ch >, fcppt::parse::basic_literal_error< Ch >, fcppt::parse::basic_string_error< Ch >, fcppt::parse::complement_error< Ch >, fcppt::parse::custom_error< Ch >, fcppt::parse::fail_error< Ch >, fcppt::parse::named_error< Ch >, fcppt::parse::typed_error< Ch > > |
|
template<typename Type > |
using | is_char = std::disjunction< std::is_same< Type, char >, std::is_same< Type, wchar_t > > |
| The allowed char types, currently char and wchar_t.
|
|
using | is_fatal = fcppt::strong_typedef< bool,_ > |
|
template<typename Type > |
using | is_parser = std::is_base_of< fcppt::parse::tag, Type > |
| Checks if a type is a parser.A type is a parser if and only if it derives from fcppt::parse::tag.
|
|
template<typename Type > |
using | is_valid_argument = fcppt::parse::is_parser< fcppt::parse::deref_type< std::remove_cvref_t< Type > > > |
| Checks if a parameter is a valid parser type.
|
|
using | line = fcppt::strong_typedef< std::uint64_t,_ > |
| The line type of a position.
|
|
using | literal = fcppt::parse::basic_literal< char > |
|
template<typename Type > |
using | repetition_result = std::conditional_t< fcppt::parse::is_char< Type >::value, std::basic_string< Type >, std::vector< Type > > |
| The result type of a repetition parser.
|
|
template<typename Ch , typename Type > |
using | result = fcppt::either::object< fcppt::parse::error< Ch >, Type > |
| The result type when parsing streams of Ch, producing values of Type.The result is an fcppt::either::object of fcppt::parse::error<Ch> and Type .
|
|
template<typename Parser > |
using | result_of = typename fcppt::parse::deref_type< Parser >::result_type |
| The result type of a parser.
|
|
template<typename Left , typename Right > |
using | sequence_result = decltype(fcppt::parse::detail::sequence_result(std::declval< Left >(), std::declval< Right >())) |
| The result of a sequence parser.
|
|
using | string = fcppt::parse::basic_string< char > |
|
|
template<typename Result , typename Parser , typename = std::enable_if_t<fcppt::tuple::is_object<fcppt::parse::result_of<Parser>>::value>> |
fcppt::parse::convert< std::remove_cvref_t< Parser >, Result > | as_struct (Parser &&_parser) |
| Creates a parser that converts a tuple into a struct.
|
|
fcppt::parse::char_set | blank () |
| Parser that parses blank characters.
|
|
template<typename Ch > |
fcppt::parse::basic_char_set_container< Ch > | blank_set () |
| The set of blank characters.
|
|
template<typename Result , typename Parser > |
fcppt::parse::convert< std::remove_cvref_t< Parser >, Result > | construct (Parser &&_parser) |
| Applies a constructor to the result of a parser.
|
|
template<typename Parser , typename Result > |
FCPPT_PP_POP_WARNING | convert_const (Parser &&, Result &&) -> convert_const< std::remove_cvref_t< Parser >, std::remove_cvref_t< Result > > |
|
template<typename Parser > |
fcppt::parse::deref_type< Parser > const & | deref (Parser const &_parser) |
| Dereferences a parser.
|
|
template<typename Ch > |
fcppt::parse::basic_char_set< Ch > | digits () |
| The char set of digits.
|
|
template<typename Ch > |
std::basic_ostream< Ch > & | operator<< (std::basic_ostream< Ch > &_stream, fcppt::parse::error< Ch > const &_error) |
|
template<typename Ch > |
fcppt::optional::object< Ch > | get_char (fcppt::reference< fcppt::parse::basic_stream< Ch > > const _state) |
| The next character in a stream.
|
|
template<typename Ch > |
fcppt::parse::position< Ch > | get_position (fcppt::reference< fcppt::parse::basic_stream< Ch > > const _state) |
| The current position of a stream.
|
|
template<typename Result , typename Ch , typename Skipper > |
fcppt::either::object< fcppt::parse::parse_stream_error< Ch >, Result > | grammar_parse_stream (std::basic_istream< Ch > &_stream, fcppt::parse::grammar< Result, Ch, Skipper > const &_grammar) |
| Parse a stream using a grammar.
|
|
template<typename Result , typename Ch , typename Skipper > |
fcppt::either::object< fcppt::parse::parse_string_error< Ch >, Result > | grammar_parse_string (std::basic_string< Ch > &&_string, fcppt::parse::grammar< Result, Ch, Skipper > const &_grammar) |
| Parse a string using a grammar.
|
|
template<typename Start , typename Inner , typename Sep , typename End > |
FCPPT_PP_POP_WARNING | list (Start &&, Inner &&, Sep &&, End &&) -> list< std::remove_cvref_t< Start >, std::remove_cvref_t< Inner >, std::remove_cvref_t< Sep >, std::remove_cvref_t< End > > |
|
bool | operator== (fcppt::parse::location const &_left, fcppt::parse::location const &_right) |
|
template<typename Ch , typename Traits > |
std::basic_ostream< Ch, Traits > & | operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::parse::location const &_loc) |
| Outputs a location to a stream.
|
|
template<typename Ch , typename Skipper , typename Parser > |
fcppt::parse::base_unique_ptr< fcppt::parse::result_of< Parser >, Ch, Skipper > | make_base (Parser &&_parser) |
| Hides the type of a parser, turning it into an fcppt::parse::base_unique_ptr.
|
|
template<typename Parser , typename Convert > |
fcppt::parse::convert< std::remove_cvref_t< Parser >, std::invoke_result_t< Convert, fcppt::parse::result_of< Parser > && > > | make_convert (Parser &&_parser, Convert &&_convert) |
| Creates an fcppt::parse::convert parser out of a lambda.
|
|
template<typename Ch , typename Parser , typename Convert > |
fcppt::parse::convert_if< Ch, std::remove_cvref_t< Parser >, fcppt::either::success_type< std::invoke_result_t< Convert, fcppt::parse::position< Ch >, fcppt::parse::result_of< Parser > && > > > | make_convert_if (Parser &&_parser, Convert &&_convert) |
| Creates an fcppt::parse::convert_if parser out of a lambda.
|
|
template<typename Parser > |
fcppt::parse::fatal< std::remove_cvref_t< Parser > > | make_fatal (Parser &&_parser) |
| Creates an fcppt::parse::fatal parser.
|
|
template<typename Parser > |
fcppt::parse::ignore< std::remove_cvref_t< Parser > > | make_ignore (Parser &&_parser) |
| Creates an fcppt::parse::ignore parser.
|
|
template<typename Parser > |
fcppt::parse::lexeme< std::remove_cvref_t< Parser > > | make_lexeme (Parser &&_parser) |
| Creates an fcppt::parse::lexeme parser.
|
|
template<typename Ch > |
fcppt::parse::basic_literal< Ch > | make_literal (Ch const _ch) |
| Creates an fcppt::parse::basic_literal parser.
|
|
template<typename Ch , typename Success > |
fcppt::either::object< fcppt::parse::parse_stream_error< Ch >, std::remove_cvref_t< Success > > | make_parse_stream_success (Success &&_success) |
| Creates a success value with a parse_stream failure type.
|
|
template<typename Ch , typename Success > |
fcppt::either::object< fcppt::parse::parse_string_error< Ch >, std::remove_cvref_t< Success > > | make_parse_string_success (Success &&_success) |
| Creates a success value with a parse_string failure type.
|
|
template<typename Parser > |
fcppt::parse::recursive< std::remove_cvref_t< Parser > > | make_recursive (Parser &&_parser) |
| Creates an fcppt::parse::recursive parser.
|
|
template<typename Ch , typename Success > |
fcppt::parse::result< Ch, std::remove_cvref_t< Success > > | make_success (Success &&_success) |
| Creates an fcppt::parse::result from a success value.
|
|
template<typename Parser > |
fcppt::parse::with_location< std::remove_cvref_t< Parser > > | make_with_location (Parser &&_parser) |
| Creates an fcppt::parse::with_location parser.
|
|
template<typename Ch , typename Parser > |
FCPPT_PP_POP_WARNING | named (Parser &&, std::basic_string< Ch > &&) -> named< Ch, std::remove_cvref_t< Parser > > |
|
template<typename Left , typename Right , typename = std::enable_if_t<std::conjunction_v< fcppt::parse::is_valid_argument<Left>, fcppt::parse::is_valid_argument<Right>>>> |
fcppt::parse::alternative< std::remove_cvref_t< Left >, std::remove_cvref_t< Right > > | operator| (Left &&_left, Right &&_right) |
| Creates an fcppt::parse::alternative parser.
|
|
template<typename Parser , typename = std::enable_if_t< fcppt::parse::detail::is_char_set<fcppt::parse::deref_type<Parser>>::value>> |
auto | operator~ (Parser &&_parser) |
| Creates an fcppt::parse::complement parser.
|
|
template<typename Left , typename Right , typename = std::enable_if_t<std::conjunction_v< fcppt::parse::is_valid_argument<Left>, fcppt::parse::is_valid_argument<Right>>>> |
fcppt::parse::exclude< std::remove_cvref_t< Left >, std::remove_cvref_t< Right > > | operator- (Left &&_left, Right &&_right) |
| Creates an fcppt::parse::exclude parser.
|
|
template<typename Parser , typename = std::enable_if_t<fcppt::parse::is_valid_argument<Parser>::value>> |
fcppt::parse::not_< std::remove_cvref_t< Parser > > | operator! (Parser &&_parser) |
| Creates an fcppt::parse::not_ parser.
|
|
template<typename Parser , typename = std::enable_if_t<fcppt::parse::is_valid_argument<Parser>::value>> |
fcppt::parse::optional< std::remove_cvref_t< Parser > > | operator- (Parser &&_parser) |
| Creates an fcppt::parse::optional parser.
|
|
template<typename Parser , typename = std::enable_if_t<fcppt::parse::is_valid_argument<Parser>::value>> |
fcppt::parse::repetition< std::remove_cvref_t< Parser > > | operator* (Parser &&_parser) |
| Creates an fcppt::parse::repetition parser.
|
|
template<typename Parser , typename = std::enable_if_t<fcppt::parse::is_valid_argument<Parser>::value>> |
fcppt::parse::repetition_plus< std::remove_cvref_t< Parser > > | operator+ (Parser &&_parser) |
| Creates an fcppt::parse::repetition_plus parser.
|
|
template<typename Left , typename Right , typename = std::enable_if_t<std::conjunction_v< fcppt::parse::is_valid_argument<Left>, fcppt::parse::is_valid_argument<Right>>>> |
fcppt::parse::sequence< std::remove_cvref_t< Left >, std::remove_cvref_t< Right > > | operator>> (Left &&_left, Right &&_right) |
| Creates an fcppt::parse::sequence parser.
|
|
template<typename Ch , typename Parser > |
fcppt::either::object< fcppt::parse::parse_stream_error< Ch >, fcppt::parse::result_of< Parser > > | parse (Parser const &_parser, fcppt::parse::basic_stream< Ch > &_input) |
| Parses without whitespace skipping.
|
|
template<typename Ch , typename Parser > |
fcppt::either::object< fcppt::parse::parse_stream_error< Ch >, fcppt::parse::result_of< Parser > > | parse_stream (Parser const &_parser, std::basic_istream< Ch > &_input) |
| Parses a std::basic_istream without whitespace skipping.
|
|
template<typename Ch > |
std::basic_ostream< Ch > & | operator<< (std::basic_ostream< Ch > &_stream, fcppt::parse::parse_stream_error< Ch > const &_error) |
|
template<typename Ch , typename Parser > |
fcppt::either::object< fcppt::parse::parse_string_error< Ch >, fcppt::parse::result_of< Parser > > | parse_string (Parser const &_parser, std::basic_string< Ch > &&_string) |
| Parses a std::basic_string without whitespace skipping.
|
|
template<typename Ch > |
std::basic_ostream< Ch > & | operator<< (std::basic_ostream< Ch > &_stream, fcppt::parse::parse_string_error< Ch > const &_error) |
|
template<typename Ch , typename Parser , typename Skipper , typename = std::enable_if_t<std::conjunction_v< fcppt::parse::is_parser<Parser>, fcppt::parse::skipper::is_skipper<Skipper>>>> |
fcppt::either::object< fcppt::parse::parse_stream_error< Ch >, fcppt::parse::result_of< Parser > > | phrase_parse (Parser const &_parser, fcppt::parse::basic_stream< Ch > &_input, Skipper const &_skipper) |
| The basic parse function.
|
|
template<typename Ch , typename Parser , typename Skipper , typename = std::enable_if_t<std::conjunction_v< fcppt::parse::is_parser<Parser>, fcppt::parse::skipper::is_skipper<Skipper>>>> |
fcppt::either::object< fcppt::parse::parse_stream_error< Ch >, fcppt::parse::result_of< Parser > > | phrase_parse_stream (Parser const &_parser, std::basic_istream< Ch > &_input, Skipper const &_skipper) |
| Parses a std::basic_istream , using whitespace skipping.
|
|
template<typename Ch , typename Parser , typename Skipper , typename = std::enable_if_t<std::conjunction_v< fcppt::parse::is_parser<Parser>, fcppt::parse::skipper::is_skipper<Skipper>>>> |
fcppt::either::object< fcppt::parse::parse_string_error< Ch >, fcppt::parse::result_of< Parser > > | phrase_parse_string (Parser const &_parser, std::basic_string< Ch > &&_string, Skipper const &_skipper) |
| Parses a std::basic_string , using whitespace skipping.
|
|
template<typename Ch > |
bool | operator== (fcppt::parse::position< Ch > const &_left, fcppt::parse::position< Ch > const &_right) |
| Compares two positions for equality.
|
|
template<typename Ch > |
std::basic_ostream< Ch > & | operator<< (std::basic_ostream< Ch > &_stream, fcppt::parse::position< Ch > const &_pos) |
| Outputs a position to a stream.
|
|
template<typename Inner , typename Sep > |
FCPPT_PP_POP_WARNING | separator (Inner &&, Sep &&) -> separator< std::remove_cvref_t< Inner >, std::remove_cvref_t< Sep > > |
|
template<typename Ch > |
void | set_position (fcppt::reference< fcppt::parse::basic_stream< Ch > > const _state, fcppt::parse::position< Ch > const _pos) |
| Sets the current position of a stream.
|
|
fcppt::parse::char_set | space () |
| The char set parser using fcppt::parse::space_set<char> .
|
|
template<typename Ch > |
fcppt::parse::basic_char_set_container< Ch > | space_set () |
| The char set of spaces.Returns the set containing the whitespace, newline and tab characters.
|
|