mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions
m::ast::TheRecursiveExprVisitorBase< C > Struct Template Reference

A generic base class for implementing recursive ast::Expr visitors. More...

#include <AST.hpp>

Inheritance diagram for m::ast::TheRecursiveExprVisitorBase< C >:
[legend]
Collaboration diagram for m::ast::TheRecursiveExprVisitorBase< C >:
[legend]

Public Types

using super = std::conditional_t< C, ConstASTExprVisitor, ASTExprVisitor >
 
template<typename T >
using Const = typename super::template Const< T >
 

Public Member Functions

virtual ~TheRecursiveExprVisitorBase ()
 
void operator() (Const< FnApplicationExpr > &e) override
 
void operator() (Const< UnaryExpr > &e) override
 
void operator() (Const< BinaryExpr > &e) override
 

Detailed Description

template<bool C>
struct m::ast::TheRecursiveExprVisitorBase< C >

A generic base class for implementing recursive ast::Expr visitors.

Definition at line 441 of file AST.hpp.

Member Typedef Documentation

◆ Const

template<bool C>
template<typename T >
using m::ast::TheRecursiveExprVisitorBase< C >::Const = typename super::template Const<T>

Definition at line 444 of file AST.hpp.

◆ super

template<bool C>
using m::ast::TheRecursiveExprVisitorBase< C >::super = std::conditional_t<C, ConstASTExprVisitor, ASTExprVisitor>

Definition at line 443 of file AST.hpp.

Constructor & Destructor Documentation

◆ ~TheRecursiveExprVisitorBase()

template<bool C>
virtual m::ast::TheRecursiveExprVisitorBase< C >::~TheRecursiveExprVisitorBase ( )
inlinevirtual

Definition at line 446 of file AST.hpp.

Member Function Documentation

◆ operator()() [1/3]

template<bool C>
void m::ast::TheRecursiveExprVisitorBase< C >::operator() ( Const< BinaryExpr > &  e)
inlineoverride

Definition at line 455 of file AST.hpp.

◆ operator()() [2/3]

template<bool C>
void m::ast::TheRecursiveExprVisitorBase< C >::operator() ( Const< FnApplicationExpr > &  e)
inlineoverride

Definition at line 449 of file AST.hpp.

◆ operator()() [3/3]

template<bool C>
void m::ast::TheRecursiveExprVisitorBase< C >::operator() ( Const< UnaryExpr > &  e)
inlineoverride

Definition at line 454 of file AST.hpp.


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