27 #include "../../common/STLUtils.h" 
   35   : m_fields(rhs.m_fields)
 
   60   m_fields.push_back(e);
 
   65   assert(i < m_fields.size());
 
   66   return &(m_fields[i]);
 
   71   assert(i < m_fields.size());
 
   72   m_fields.erase(m_fields.begin() + i);
 
void clear()
It will release all condition expressions and then it will clear the conteiner. 
const Expression * operator[](std::size_t i) const 
It returns the i-th condition. 
JoinCondition * clone() const 
It creates a new copy of this JoinCondition. 
This is an abstract class that models a query expression. 
TE_DEFINE_VISITABLE JoinConditionUsing()
Default constructor. 
A condition to be used in a Join clause. 
This is an abstract class that models a query expression. 
JoinConditionUsing class can be used to model a USING clause in a Join. 
JoinConditionUsing & operator=(const JoinConditionUsing &rhs)
JoinConditionUsing class can be used to model a USING clause in a Join. 
void push_back(Expression *e)
It adds the condition to the conteiner. 
~JoinConditionUsing()
Destructor. 
boost::ptr_vector< Expression > m_fields
The join column list. 
void erase(std::size_t i)
It releases the i-th condition expression and trim the conteiner.