OmniSciDB  cde582ebc3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Parser::ForeignKeyDef Class Reference

#include <ParserNode.h>

+ Inheritance diagram for Parser::ForeignKeyDef:
+ Collaboration diagram for Parser::ForeignKeyDef:

Public Member Functions

 ForeignKeyDef (std::list< std::string * > *cl, std::string *t, std::list< std::string * > *fcl)
 
const std::list
< std::unique_ptr< std::string > > & 
get_column_list () const
 
const std::string * get_foreign_table () const
 
const std::list
< std::unique_ptr< std::string > > & 
get_foreign_column_list () const
 
- Public Member Functions inherited from Parser::Node
virtual ~Node ()
 

Private Attributes

std::list< std::unique_ptr
< std::string > > 
column_list_
 
std::unique_ptr< std::string > foreign_table_
 
std::list< std::unique_ptr
< std::string > > 
foreign_column_list_
 

Detailed Description

Definition at line 875 of file ParserNode.h.

Constructor & Destructor Documentation

Parser::ForeignKeyDef::ForeignKeyDef ( std::list< std::string * > *  cl,
std::string *  t,
std::list< std::string * > *  fcl 
)
inline

Definition at line 877 of file ParserNode.h.

References CHECK, column_list_, and foreign_column_list_.

878  : foreign_table_(t) {
879  CHECK(cl);
880  for (const auto s : *cl) {
881  column_list_.emplace_back(s);
882  }
883  delete cl;
884  if (fcl) {
885  for (const auto s : *fcl) {
886  foreign_column_list_.emplace_back(s);
887  }
888  }
889  delete fcl;
890  }
#define CHECK(condition)
Definition: Logger.h:222
std::list< std::unique_ptr< std::string > > foreign_column_list_
Definition: ParserNode.h:902
std::list< std::unique_ptr< std::string > > column_list_
Definition: ParserNode.h:900
std::unique_ptr< std::string > foreign_table_
Definition: ParserNode.h:901

Member Function Documentation

const std::list<std::unique_ptr<std::string> >& Parser::ForeignKeyDef::get_column_list ( ) const
inline

Definition at line 891 of file ParserNode.h.

References column_list_.

891  {
892  return column_list_;
893  }
std::list< std::unique_ptr< std::string > > column_list_
Definition: ParserNode.h:900
const std::list<std::unique_ptr<std::string> >& Parser::ForeignKeyDef::get_foreign_column_list ( ) const
inline

Definition at line 895 of file ParserNode.h.

References foreign_column_list_.

895  {
896  return foreign_column_list_;
897  }
std::list< std::unique_ptr< std::string > > foreign_column_list_
Definition: ParserNode.h:902
const std::string* Parser::ForeignKeyDef::get_foreign_table ( ) const
inline

Definition at line 894 of file ParserNode.h.

References foreign_table_.

894 { return foreign_table_.get(); }
std::unique_ptr< std::string > foreign_table_
Definition: ParserNode.h:901

Member Data Documentation

std::list<std::unique_ptr<std::string> > Parser::ForeignKeyDef::column_list_
private

Definition at line 900 of file ParserNode.h.

Referenced by ForeignKeyDef(), and get_column_list().

std::list<std::unique_ptr<std::string> > Parser::ForeignKeyDef::foreign_column_list_
private

Definition at line 902 of file ParserNode.h.

Referenced by ForeignKeyDef(), and get_foreign_column_list().

std::unique_ptr<std::string> Parser::ForeignKeyDef::foreign_table_
private

Definition at line 901 of file ParserNode.h.

Referenced by get_foreign_table().


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