OmniSciDB  ab4938a6a3
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 1476 of file Analyzer.h.

Constructor & Destructor Documentation

◆ TargetEntry()

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

Definition at line 1478 of file Analyzer.h.

1479  : resname(n), expr(e), unnest(u) {}
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:1492
bool unnest
Definition: Analyzer.h:1493
std::string resname
Definition: Analyzer.h:1491

◆ ~TargetEntry()

virtual Analyzer::TargetEntry::~TargetEntry ( )
inlinevirtual

Definition at line 1480 of file Analyzer.h.

1480 {}

Member Function Documentation

◆ get_expr()

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

Definition at line 1483 of file Analyzer.h.

1483 { return expr.get(); }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:1492

◆ get_own_expr()

std::shared_ptr<Expr> Analyzer::TargetEntry::get_own_expr ( ) const
inline

Definition at line 1484 of file Analyzer.h.

1484 { return expr; }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:1492

◆ get_resname()

const std::string& Analyzer::TargetEntry::get_resname ( ) const
inline

Definition at line 1481 of file Analyzer.h.

1481 { return resname; }
std::string resname
Definition: Analyzer.h:1491

◆ get_unnest()

bool Analyzer::TargetEntry::get_unnest ( ) const
inline

Definition at line 1486 of file Analyzer.h.

1486 { return unnest; }
bool unnest
Definition: Analyzer.h:1493

◆ print()

void Analyzer::TargetEntry::print ( ) const
inline

Definition at line 1488 of file Analyzer.h.

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

◆ set_expr()

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

Definition at line 1485 of file Analyzer.h.

1485 { expr = e; }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:1492

◆ set_resname()

void Analyzer::TargetEntry::set_resname ( const std::string &  name)
inline

Definition at line 1482 of file Analyzer.h.

1482 { resname = name; }
std::string resname
Definition: Analyzer.h:1491

◆ toString()

std::string Analyzer::TargetEntry::toString ( ) const

Definition at line 2633 of file Analyzer.cpp.

2633  {
2634  std::string str{"(" + resname + " "};
2635  str += expr->toString();
2636  if (unnest) {
2637  str += " UNNEST";
2638  }
2639  str += ") ";
2640  return str;
2641 }
std::shared_ptr< Analyzer::Expr > expr
Definition: Analyzer.h:1492
bool unnest
Definition: Analyzer.h:1493
std::string resname
Definition: Analyzer.h:1491

Member Data Documentation

◆ expr

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

Definition at line 1492 of file Analyzer.h.

◆ resname

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

Definition at line 1491 of file Analyzer.h.

◆ unnest

bool Analyzer::TargetEntry::unnest
private

Definition at line 1493 of file Analyzer.h.


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