OmniSciDB  72c90bc290
 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 876 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 878 of file ParserNode.h.

References CHECK, column_list_, and foreign_column_list_.

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

Member Function Documentation

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

Definition at line 892 of file ParserNode.h.

References column_list_.

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

Definition at line 896 of file ParserNode.h.

References foreign_column_list_.

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

Definition at line 895 of file ParserNode.h.

References foreign_table_.

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

Member Data Documentation

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

Definition at line 901 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 903 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 902 of file ParserNode.h.

Referenced by get_foreign_table().


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