Welcome to the new CppUtils documentation!
Functions & utilities
FUNCTIONSNamespace: CppUtils::Language::Lexer
Public enums
Section titled “Public enums”RecurrenceType
Section titled “RecurrenceType”enum class RecurrenceType { Optional, EqualTo, MoreThan, MoreOrEqualTo};Public types
Section titled “Public types”ParsingFunction
Section titled “ParsingFunction”using CppUtils::Language::Lexer::ParsingFunction = typedef std::function<bool(Context<Types...>&)>;BreakPointLexeme
Section titled “BreakPointLexeme”using CppUtils::Language::Lexer::BreakPointLexeme = typedef Typed<BreakPointLexemeType, void>;StringLexeme
Section titled “StringLexeme”using CppUtils::Language::Lexer::StringLexeme = typedef Typed<StringLexemeType, std::string>;ParserLexeme
Section titled “ParserLexeme”using CppUtils::Language::Lexer::ParserLexeme = typedef Typed<ParserLexemeType, NamedParser<Types...>>;TokenLexeme
Section titled “TokenLexeme”using CppUtils::Language::Lexer::TokenLexeme = typedef Typed<TokenLexemeType, Type::Token>;TagLexeme
Section titled “TagLexeme”using CppUtils::Language::Lexer::TagLexeme = typedef Typed<TagLexemeType, std::unique_ptr<ILexeme>>;MutedLexeme
Section titled “MutedLexeme”using CppUtils::Language::Lexer::MutedLexeme = typedef Typed<MutedLexemeType, std::unique_ptr<ILexeme>>;RecurrentLexeme
Section titled “RecurrentLexeme”using CppUtils::Language::Lexer::RecurrentLexeme = typedef Typed<RecurrentLexemeType, Recurrence>;AlternativeLexeme
Section titled “AlternativeLexeme”using CppUtils::Language::Lexer::AlternativeLexeme = typedef Typed<AlternativeLexemeType, Alternative>;ExcludeLexeme
Section titled “ExcludeLexeme”using CppUtils::Language::Lexer::ExcludeLexeme = typedef Typed<ExcludeLexemeType, Exclusion>;Constants & variables
Section titled “Constants & variables”Public functions
Section titled “Public functions”template <class Element = char>auto parseLexeme(String::Cursor<std::basic_string_view<Element>>& cursor, std::reference_wrapper<Container::ASTNode<Element>>& parentNode, Container::AST<Element>& ast, const Container::ASTNode<Element>& lexeme, const Container::AST<Element>& grammar, std::vector<Container::ASTNode<Element>>& memory) -> bool;template <class Element = char>auto parseLexemes(String::Cursor<std::basic_string_view<Element>>& cursor, std::reference_wrapper<Container::ASTNode<Element>>& parentNode, Container::AST<Element>& ast, const Container::ASTNode<Element>& lexeme, const Container::AST<Element>& grammar, std::vector<Container::ASTNode<Element>>& memory) -> bool;template <class Element = char>auto parseDeclaration(String::Cursor<std::basic_string_view<Element>>& cursor, std::reference_wrapper<Container::ASTNode<Element>>& parentNode, Container::AST<Element>& ast, const Container::ASTNode<Element>& declaration, const Container::AST<Element>& grammar, std::vector<Container::ASTNode<Element>>& memory) -> bool;template <class Element = char>auto parseMultipleDeclaration(String::Cursor<std::basic_string_view<Element>>& cursor, std::reference_wrapper<Container::ASTNode<Element>>& parentNode, Container::AST<Element>& ast, const Container::ASTNode<Element>& declarationLexeme, const Container::AST<Element>& grammar, std::vector<Container::ASTNode<Element>>& memory) -> bool;