Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Member Functions
regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params > Class Template Reference

#include <UnboundedRegExpElement.h>

Inheritance diagram for regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >:
[legend]
Collaboration diagram for regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >:
[legend]

Public Member Functions

void visit (const UnboundedRegExpAlternation< SymbolType > &inherit) override
 
void visit (const UnboundedRegExpConcatenation< SymbolType > &inherit) override
 
void visit (const UnboundedRegExpIteration< SymbolType > &inherit) override
 
void visit (const UnboundedRegExpSymbol< SymbolType > &inherit) override
 
void visit (const UnboundedRegExpEmpty< SymbolType > &inherit) override
 
void visit (const UnboundedRegExpEpsilon< SymbolType > &inherit) override
 
- Public Member Functions inherited from core::VisitorContextAux< ReturnType, Visitorr, Params ... >
 VisitorContextAux (Params &&... params)
 Constructor for initialisation of the visitor context, i.e. additional call parameters. More...
 
void call (const Inherit &inherit, std::index_sequence< Indexes ... >)
 Call method to the visitors visit method. The actuall class of visited object is already evaluated here. More...
 
void call (Inherit &inherit, std::index_sequence< Indexes ... >)
 Call method to the visitors visit method. The actuall class of visited object is already evaluated here. More...
 
void call (Inherit &&inherit, std::index_sequence< Indexes ... >)
 Call method to the visitors visit method. The actuall class of visited object is already evaluated here. More...
 
ReturnType getResult ()
 Visit result getter. More...
 
- Public Member Functions inherited from regexp::UnboundedRegExpElement< SymbolType >::Visitor
virtual ~Visitor () noexcept=default
 

Detailed Description

template<class SymbolType>
template<class ReturnType, class Visitorr, class ... Params>
class regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >

Helper class interconnecting the visitor interface and visitor core logic.

Template Parameters
ReturnTypethe return type of the result of the visit
Visitorrthe type of the actuall visitor
Params... types of data passed with the visitor call

Member Function Documentation

◆ visit() [1/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( const UnboundedRegExpAlternation< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements regexp::UnboundedRegExpElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [2/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( const UnboundedRegExpConcatenation< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements regexp::UnboundedRegExpElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [3/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( const UnboundedRegExpEmpty< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements regexp::UnboundedRegExpElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [4/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( const UnboundedRegExpEpsilon< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements regexp::UnboundedRegExpElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [5/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( const UnboundedRegExpIteration< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements regexp::UnboundedRegExpElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [6/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void regexp::UnboundedRegExpElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( const UnboundedRegExpSymbol< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements regexp::UnboundedRegExpElement< SymbolType >::Visitor.

Here is the call graph for this function:

The documentation for this class was generated from the following file: