#ifndef SQLPP_EXPRESSIONS_SUBQUERY_LOGICAL_HPP
#define SQLPP_EXPRESSIONS_SUBQUERY_LOGICAL_HPP
#include <sqlpp/config.hpp>
#include <sqlpp/utils.hpp>
#include <sqlpp/predefs.hpp>
#include <sqlpp/expressions/enums.hpp>
#include <sqlpp/expressions/subquery_expression.hpp>
#include <sqlpp/expressions/scalar_expression.hpp>
#include <sqlpp/expressions/boolean_expression.hpp>
namespace sqlpp{
namespace expressions{
class subquery_comparaison_expression:
public boolean_expression
{
public:
subquery_comparaison_expression(
scalar_expression_shared_ptr left_,
subquery_expression_shared_ptr right_,
ArithmeticOperator op_,
SubqueryComparaisonOperator subquery_op_
);
virtual std::ostream& get_expression(std::ostream& out_, adaptors::database_adaptor_shared_ptr adaptor_) const;
private:
scalar_expression_shared_ptr m_left;
subquery_expression_shared_ptr m_right;
ArithmeticOperator m_op;
SubqueryComparaisonOperator m_subquery_op;
};
typedef boost::shared_ptr< subquery_comparaison_expression > subquery_comparaison_expression_shared_ptr;
subquery_comparaison_expression_shared_ptr any(
scalar_expression_shared_ptr left_,
subquery_expression_shared_ptr right_,
ArithmeticOperator op_
);
subquery_comparaison_expression_shared_ptr some(
scalar_expression_shared_ptr left_,
subquery_expression_shared_ptr right_,
ArithmeticOperator op_
);
subquery_comparaison_expression_shared_ptr all(
scalar_expression_shared_ptr left_,
subquery_expression_shared_ptr right_,
ArithmeticOperator op_
);
}; // expressions
};//sqlpp
#endif