OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Analyzer::TargetEntry Class Reference

#include <Analyzer.h>

+ Collaboration diagram for Analyzer::TargetEntry:

Public Member Functions

 TargetEntry (const std::string &n, std::shared_ptr< Analyzer::Expr > e, bool u)
 
virtual ~TargetEntry ()
 
const std::string & get_resname () const
 
void set_resname (const std::string &name)
 
Exprget_expr () const
 
std::shared_ptr< Exprget_own_expr () const
 
void set_expr (std::shared_ptr< Analyzer::Expr > e)
 
bool get_unnest () const
 
std::string toString () const
 
void print () const
 

Private Attributes

std::string resname
 
std::shared_ptr< Analyzer::Exprexpr
 
bool unnest
 

Detailed Description

Definition at line 2752 of file Analyzer.h.

Constructor & Destructor Documentation

Analyzer::TargetEntry::TargetEntry ( const std::string &  n,
std::shared_ptr< Analyzer::Expr e,
bool  u 
)
inline

Definition at line 2754 of file Analyzer.h.

2755  : resname(n), expr(e), unnest(u) {}
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:2768
bool unnest
Definition: Analyzer.h:2769
std::string resname
Definition: Analyzer.h:2767
constexpr double n
Definition: Utm.h:38
virtual Analyzer::TargetEntry::~TargetEntry ( )
inlinevirtual

Definition at line 2756 of file Analyzer.h.

2756 {}

Member Function Documentation

Expr* Analyzer::TargetEntry::get_expr ( ) const
inline

Definition at line 2759 of file Analyzer.h.

References expr.

2759 { return expr.get(); }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:2768
std::shared_ptr<Expr> Analyzer::TargetEntry::get_own_expr ( ) const
inline

Definition at line 2760 of file Analyzer.h.

References expr.

2760 { return expr; }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:2768
const std::string& Analyzer::TargetEntry::get_resname ( ) const
inline

Definition at line 2757 of file Analyzer.h.

References resname.

2757 { return resname; }
std::string resname
Definition: Analyzer.h:2767
bool Analyzer::TargetEntry::get_unnest ( ) const
inline

Definition at line 2762 of file Analyzer.h.

References unnest.

2762 { return unnest; }
bool unnest
Definition: Analyzer.h:2769
void Analyzer::TargetEntry::print ( ) const
inline

Definition at line 2764 of file Analyzer.h.

References toString().

2764 { std::cout << toString(); }
std::string toString() const
Definition: Analyzer.cpp:3094

+ Here is the call graph for this function:

void Analyzer::TargetEntry::set_expr ( std::shared_ptr< Analyzer::Expr e)
inline

Definition at line 2761 of file Analyzer.h.

References expr.

2761 { expr = e; }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:2768
void Analyzer::TargetEntry::set_resname ( const std::string &  name)
inline

Definition at line 2758 of file Analyzer.h.

References setup::name, and resname.

2758 { resname = name; }
std::string resname
Definition: Analyzer.h:2767
string name
Definition: setup.in.py:72
std::string Analyzer::TargetEntry::toString ( ) const

Definition at line 3094 of file Analyzer.cpp.

References expr, resname, and unnest.

Referenced by print().

3094  {
3095  std::string str{"(" + resname + " "};
3096  str += expr->toString();
3097  if (unnest) {
3098  str += " UNNEST";
3099  }
3100  str += ") ";
3101  return str;
3102 }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:2768
bool unnest
Definition: Analyzer.h:2769
std::string resname
Definition: Analyzer.h:2767

+ Here is the caller graph for this function:

Member Data Documentation

std::shared_ptr<Analyzer::Expr> Analyzer::TargetEntry::expr
private

Definition at line 2768 of file Analyzer.h.

Referenced by get_expr(), get_own_expr(), set_expr(), and toString().

std::string Analyzer::TargetEntry::resname
private

Definition at line 2767 of file Analyzer.h.

Referenced by get_resname(), set_resname(), and toString().

bool Analyzer::TargetEntry::unnest
private

Definition at line 2769 of file Analyzer.h.

Referenced by get_unnest(), and toString().


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