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

#include <FormalRTEElement.h>

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

Public Member Functions

void visit (FormalRTEAlternation< SymbolType > &inherit) override
 
void visit (FormalRTEIteration< SymbolType > &inherit) override
 
void visit (FormalRTESubstitution< SymbolType > &inherit) override
 
void visit (FormalRTESymbolAlphabet< SymbolType > &inherit) override
 
void visit (FormalRTESymbolSubst< SymbolType > &inherit) override
 
void visit (FormalRTEEmpty< 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 rte::FormalRTEElement< SymbolType >::Visitor
virtual ~Visitor () noexcept=default
 

Detailed Description

template<class SymbolType>
template<class ReturnType, class Visitorr, class ... Params>
class rte::FormalRTEElement< 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 rte::FormalRTEElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( FormalRTEAlternation< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements rte::FormalRTEElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [2/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void rte::FormalRTEElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( FormalRTEEmpty< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements rte::FormalRTEElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [3/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void rte::FormalRTEElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( FormalRTEIteration< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements rte::FormalRTEElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [4/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void rte::FormalRTEElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( FormalRTESubstitution< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements rte::FormalRTEElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [5/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void rte::FormalRTEElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( FormalRTESymbolAlphabet< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements rte::FormalRTEElement< SymbolType >::Visitor.

Here is the call graph for this function:

◆ visit() [6/6]

template<class SymbolType >
template<class ReturnType , class Visitorr , class ... Params>
void rte::FormalRTEElement< SymbolType >::VisitorContext< ReturnType, Visitorr, Params >::visit ( FormalRTESymbolSubst< SymbolType > &  inherit)
inlineoverridevirtual

Method passing the visit call to the visitor core logic.

Implements rte::FormalRTEElement< SymbolType >::Visitor.

Here is the call graph for this function:

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