mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Typedefs | Functions
InterpreterOperator.hpp File Reference
#include <mutable/IR/PhysicalOptimizer.hpp>
Include dependency graph for InterpreterOperator.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  m::interpreter::MatchBase
 An abstract MatchBase for the Interpreter backend. More...
 
struct  m::interpreter::TheRecursiveMatchBaseVisitorBase< C >
 A generic base class for implementing recursive interpreter::MatchBase visitors. More...
 
struct  m::interpreter::ThePreOrderMatchBaseVisitor< C >
 
struct  m::interpreter::ThePostOrderMatchBaseVisitor< C >
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  m::interpreter
 

Macros

#define DECLARE(CLASS)
 This macro declares a simple 1:1 mapping between logical and physical operator for the Interpreter.
 
#define MAKE_INTERPRETER_MATCH_(OP)   m::Match<m::interpreter::OP>
 
#define M_INTERPRETER_MATCH_LIST(X)   M_TRANSFORM_X_MACRO(X, M_OPERATOR_LIST, MAKE_INTERPRETER_MATCH_)
 
#define DECLARE(CLASS)    void operator()(Const<CLASS> &M) override { for (auto &c : M.children) (*this)(*c); }
 This macro declares a simple 1:1 mapping between logical and physical operator for the Interpreter.
 

Typedefs

using m::interpreter::RecursiveConstMatchBaseVisitorBase = TheRecursiveMatchBaseVisitorBase< true >
 
using m::interpreter::ConstPreOrderMatchBaseVisitor = ThePreOrderMatchBaseVisitor< true >
 
using m::interpreter::ConstPostOrderMatchBaseVisitor = ThePostOrderMatchBaseVisitor< true >
 

Functions

 m::M_OPERATOR_LIST (DECLARE) void register_interpreter_operators(PhysicalOptimizer &phys_opt)
 
 m::interpreter::M_DECLARE_VISITOR (MatchBaseVisitor, interpreter::MatchBase, M_INTERPRETER_MATCH_LIST) M_DECLARE_VISITOR(ConstMatchBaseVisitor
 
 m::interpreter::M_MAKE_STL_VISITABLE (ConstPreOrderMatchBaseVisitor, const interpreter::MatchBase, M_INTERPRETER_MATCH_LIST) M_MAKE_STL_VISITABLE(ConstPostOrderMatchBaseVisitor
 

Macro Definition Documentation

◆ DECLARE [1/2]

#define DECLARE (   CLASS)

This macro declares a simple 1:1 mapping between logical and physical operator for the Interpreter.

Definition at line 99 of file InterpreterOperator.hpp.

◆ DECLARE [2/2]

#define DECLARE (   CLASS)     void operator()(Const<CLASS> &M) override { for (auto &c : M.children) (*this)(*c); }

This macro declares a simple 1:1 mapping between logical and physical operator for the Interpreter.

Definition at line 99 of file InterpreterOperator.hpp.

◆ M_INTERPRETER_MATCH_LIST

#define M_INTERPRETER_MATCH_LIST (   X)    M_TRANSFORM_X_MACRO(X, M_OPERATOR_LIST, MAKE_INTERPRETER_MATCH_)

Definition at line 84 of file InterpreterOperator.hpp.

◆ MAKE_INTERPRETER_MATCH_

#define MAKE_INTERPRETER_MATCH_ (   OP)    m::Match<m::interpreter::OP>

Definition at line 83 of file InterpreterOperator.hpp.