NCBI C++ ToolKit
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions > Struct Template Reference

Search Toolkit Book for ctll::parser

#include <util/regexp/ctre/ctre-unicode.hpp>

Classes

struct  results
 

Public Types

using Actions = ctll::conditional< IgnoreUnknownActions, ignore_unknown< ActionSelector >, identity< ActionSelector > >
 
using grammar = augment_grammar< Grammar >
 
template<typename Subject = empty_subject>
using output = decltype(trampoline_decide< Subject >())
 
using Actions = ctll::conditional< IgnoreUnknownActions, ignore_unknown< ActionSelector >, identity< ActionSelector > >
 
using grammar = augment_grammar< Grammar >
 
template<typename Subject = empty_subject>
using output = decltype(trampoline_decide< Subject >())
 

Static Public Member Functions

template<size_t Pos>
static constexpr auto get_current_term () noexcept
 
template<size_t Pos>
static constexpr auto get_previous_term () noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (ctll::accept, Terminal, Stack, Subject) noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (ctll::reject, Terminal, Stack, Subject) noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (ctll::pop_input, Terminal, Stack, Subject) noexcept
 
template<size_t Pos, typename... Content, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (push< Content... > string, Terminal, Stack stack, Subject subject) noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (epsilon, Terminal, Stack stack, Subject subject) noexcept
 
template<size_t Pos, auto V, typename... Content, typename Stack , typename Subject >
static constexpr auto move (push< term< V >, Content... >, term< V >, Stack stack, Subject) noexcept
 
template<size_t Pos, auto V, typename... Content, auto T, typename Stack , typename Subject >
static constexpr auto move (push< anything, Content... >, term< T >, Stack stack, Subject) noexcept
 
template<size_t Pos, typename Stack , typename Subject >
static constexpr auto decide (Stack previous_stack, Subject previous_subject) noexcept
 
template<typename Subject , size_t... Pos>
static constexpr auto trampoline_decide (Subject, std::index_sequence< Pos... >) noexcept
 
template<typename Subject = empty_subject>
static constexpr auto trampoline_decide (Subject subject={}) noexcept
 
template<size_t Pos>
static constexpr auto get_current_term () noexcept
 
template<size_t Pos>
static constexpr auto get_previous_term () noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (ctll::accept, Terminal, Stack, Subject) noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (ctll::reject, Terminal, Stack, Subject) noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (ctll::pop_input, Terminal, Stack, Subject) noexcept
 
template<size_t Pos, typename... Content, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (push< Content... > string, Terminal, Stack stack, Subject subject) noexcept
 
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto move (epsilon, Terminal, Stack stack, Subject subject) noexcept
 
template<size_t Pos, auto V, typename... Content, typename Stack , typename Subject >
static constexpr auto move (push< term< V >, Content... >, term< V >, Stack stack, Subject) noexcept
 
template<size_t Pos, auto V, typename... Content, auto T, typename Stack , typename Subject >
static constexpr auto move (push< anything, Content... >, term< T >, Stack stack, Subject) noexcept
 
template<size_t Pos, typename Stack , typename Subject >
static constexpr auto decide (Stack previous_stack, Subject previous_subject) noexcept
 
template<typename Subject , size_t... Pos>
static constexpr auto trampoline_decide (Subject, std::index_sequence< Pos... >) noexcept
 
template<typename Subject = empty_subject>
static constexpr auto trampoline_decide (Subject subject={}) noexcept
 
template<typename Subject = empty_subject>
static constexpr bool correct_with
 

Static Public Attributes

static constexpr auto _input = input
 
template<typename Subject = empty_subject>
static constexpr bool correct_with = trampoline_decide<Subject>()
 

Detailed Description

template<typename Grammar, const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
struct ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >

Definition at line 761 of file ctre-unicode.hpp.

Member Typedef Documentation

◆ Actions [1/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
using ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::Actions = ctll::conditional<IgnoreUnknownActions, ignore_unknown<ActionSelector>, identity<ActionSelector> >

Definition at line 774 of file ctre-unicode.hpp.

◆ Actions [2/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
using ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::Actions = ctll::conditional<IgnoreUnknownActions, ignore_unknown<ActionSelector>, identity<ActionSelector> >

Definition at line 771 of file ctre.hpp.

◆ grammar [1/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
using ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::grammar = augment_grammar<Grammar>

Definition at line 775 of file ctre-unicode.hpp.

◆ grammar [2/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
using ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::grammar = augment_grammar<Grammar>

Definition at line 772 of file ctre.hpp.

◆ output [1/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject = empty_subject>
using ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::output = decltype(trampoline_decide<Subject>())

Definition at line 915 of file ctre-unicode.hpp.

◆ output [2/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject = empty_subject>
using ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::output = decltype(trampoline_decide<Subject>())

Definition at line 912 of file ctre.hpp.

Member Function Documentation

◆ correct_with()

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject = empty_subject>
static constexpr bool ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::correct_with
inlinestaticconstexpr

Definition at line 913 of file ctre.hpp.

◆ decide() [1/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::decide ( Stack  previous_stack,
Subject  previous_subject 
)
inlinestaticconstexprnoexcept

◆ decide() [2/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::decide ( Stack  previous_stack,
Subject  previous_subject 
)
inlinestaticconstexprnoexcept

◆ get_current_term() [1/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::get_current_term ( )
inlinestaticconstexprnoexcept

Definition at line 809 of file ctre-unicode.hpp.

References input(), max(), and rapidjson::value.

◆ get_current_term() [2/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::get_current_term ( )
inlinestaticconstexprnoexcept

Definition at line 806 of file ctre.hpp.

References input(), max(), and rapidjson::value.

◆ get_previous_term() [1/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::get_previous_term ( )
inlinestaticconstexprnoexcept

Definition at line 823 of file ctre-unicode.hpp.

References input(), max(), and rapidjson::value.

◆ get_previous_term() [2/2]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::get_previous_term ( )
inlinestaticconstexprnoexcept

Definition at line 820 of file ctre.hpp.

References input(), max(), and rapidjson::value.

◆ move() [1/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( ctll::accept  ,
Terminal  ,
Stack  ,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 840 of file ctre-unicode.hpp.

◆ move() [2/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( ctll::accept  ,
Terminal  ,
Stack  ,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 837 of file ctre.hpp.

◆ move() [3/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( ctll::pop_input  ,
Terminal  ,
Stack  ,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 850 of file ctre-unicode.hpp.

◆ move() [4/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( ctll::pop_input  ,
Terminal  ,
Stack  ,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 847 of file ctre.hpp.

◆ move() [5/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( ctll::reject  ,
Terminal  ,
Stack  ,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 845 of file ctre-unicode.hpp.

◆ move() [6/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( ctll::reject  ,
Terminal  ,
Stack  ,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 842 of file ctre.hpp.

◆ move() [7/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( epsilon  ,
Terminal  ,
Stack  stack,
Subject  subject 
)
inlinestaticconstexprnoexcept

Definition at line 860 of file ctre-unicode.hpp.

References subject.

◆ move() [8/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( epsilon  ,
Terminal  ,
Stack  stack,
Subject  subject 
)
inlinestaticconstexprnoexcept

Definition at line 857 of file ctre.hpp.

References subject.

◆ move() [9/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, auto V, typename... Content, auto T, typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( push< anything, Content... >  ,
term< T ,
Stack  stack,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 873 of file ctre-unicode.hpp.

References input(), ctll::push_front(), and ctll::undecided.

◆ move() [10/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, auto V, typename... Content, auto T, typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( push< anything, Content... >  ,
term< T ,
Stack  stack,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 870 of file ctre.hpp.

References input(), ctll::push_front(), and ctll::undecided.

◆ move() [11/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename... Content, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( push< Content... >  string,
Terminal  ,
Stack  stack,
Subject  subject 
)
inlinestaticconstexprnoexcept

Definition at line 855 of file ctre-unicode.hpp.

References ctll::push_front(), and subject.

◆ move() [12/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, typename... Content, typename Terminal , typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( push< Content... >  string,
Terminal  ,
Stack  stack,
Subject  subject 
)
inlinestaticconstexprnoexcept

Definition at line 852 of file ctre.hpp.

References ctll::push_front(), and subject.

◆ move() [13/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, auto V, typename... Content, typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( push< term< V >, Content... >  ,
term< V >  ,
Stack  stack,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 866 of file ctre-unicode.hpp.

References input(), ctll::push_front(), and ctll::undecided.

◆ move() [14/14]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<size_t Pos, auto V, typename... Content, typename Stack , typename Subject >
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::move ( push< term< V >, Content... >  ,
term< V >  ,
Stack  stack,
Subject   
)
inlinestaticconstexprnoexcept

Definition at line 863 of file ctre.hpp.

References input(), ctll::push_front(), and ctll::undecided.

◆ trampoline_decide() [1/4]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject = empty_subject>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::trampoline_decide ( Subject  subject = {})
inlinestaticconstexprnoexcept

Definition at line 910 of file ctre-unicode.hpp.

◆ trampoline_decide() [2/4]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject = empty_subject>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::trampoline_decide ( Subject  subject = {})
inlinestaticconstexprnoexcept

Definition at line 907 of file ctre.hpp.

◆ trampoline_decide() [3/4]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject , size_t... Pos>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::trampoline_decide ( Subject  ,
std::index_sequence< Pos... >   
)
inlinestaticconstexprnoexcept

Definition at line 903 of file ctre-unicode.hpp.

◆ trampoline_decide() [4/4]

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject , size_t... Pos>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::trampoline_decide ( Subject  ,
std::index_sequence< Pos... >   
)
inlinestaticconstexprnoexcept

Definition at line 900 of file ctre.hpp.

Member Data Documentation

◆ _input

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
static constexpr auto ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::_input = input
staticconstexpr

Definition at line 771 of file ctre-unicode.hpp.

◆ correct_with

template<typename Grammar , const auto & input, typename ActionSelector = empty_actions, bool IgnoreUnknownActions = false>
template<typename Subject = empty_subject>
constexpr bool ctll::parser< Grammar, input, ActionSelector, IgnoreUnknownActions >::correct_with = trampoline_decide<Subject>()
inlinestaticconstexpr

Definition at line 916 of file ctre-unicode.hpp.


The documentation for this struct was generated from the following files:
Modified on Fri Sep 20 14:57:43 2024 by modify_doxy.py rev. 669887