OmniSciDB  ba1bac9284
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 846 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 848 of file ParserNode.h.

References CHECK, column_list, and foreign_column_list.

849  : foreign_table(t) {
850  CHECK(cl);
851  for (const auto s : *cl) {
852  column_list.emplace_back(s);
853  }
854  delete cl;
855  if (fcl) {
856  for (const auto s : *fcl) {
857  foreign_column_list.emplace_back(s);
858  }
859  }
860  delete fcl;
861  }
std::list< std::unique_ptr< std::string > > foreign_column_list
Definition: ParserNode.h:873
std::unique_ptr< std::string > foreign_table
Definition: ParserNode.h:872
#define CHECK(condition)
Definition: Logger.h:206
std::list< std::unique_ptr< std::string > > column_list
Definition: ParserNode.h:871
char * t

Member Function Documentation

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

Definition at line 862 of file ParserNode.h.

References column_list.

862  {
863  return column_list;
864  }
std::list< std::unique_ptr< std::string > > column_list
Definition: ParserNode.h:871
const std::list<std::unique_ptr<std::string> >& Parser::ForeignKeyDef::get_foreign_column_list ( ) const
inline

Definition at line 866 of file ParserNode.h.

References foreign_column_list.

866  {
867  return foreign_column_list;
868  }
std::list< std::unique_ptr< std::string > > foreign_column_list
Definition: ParserNode.h:873
const std::string* Parser::ForeignKeyDef::get_foreign_table ( ) const
inline

Definition at line 865 of file ParserNode.h.

References foreign_table.

865 { return foreign_table.get(); }
std::unique_ptr< std::string > foreign_table
Definition: ParserNode.h:872

Member Data Documentation

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

Definition at line 871 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 873 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 872 of file ParserNode.h.

Referenced by get_foreign_table().


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