/** * @file mix_cc/sql/statement.h * @brief 语句类基类 * @author Cat (null.null.null@qq.com) * @version 0.1 * @date 2021-09-17 * * Copyright: Baosight Co. Ltd. * DO NOT COPY/USE WITHOUT PERMISSION * */ #pragma once #include namespace mix_cc { namespace sql { struct statement_t {}; template struct prev_statement_t { explicit constexpr prev_statement_t(PrevStatement prev_st) : prev_st_(prev_st) {} constexpr auto parse_prev() { return hana::flatten( hana::make_tuple(prev_st_.parse_prev(), hana::make_tuple(prev_st_))); } protected: PrevStatement prev_st_; }; template <> struct prev_statement_t { constexpr prev_statement_t() {} constexpr auto parse_prev() { return hana::make_tuple(); } }; template constexpr auto get_value(Tp val) { return val; } } // namespace sql } // namespace mix_cc