/** * @file mix_cc/sql/column.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 #include #include namespace mix_cc { namespace sql { template struct column_t { using name_type = Name; using value_type = Tp; name_type col_name; constexpr auto operator<(Tp val) { return condition_t(col_name, op::compare_t::lt, val); } constexpr auto operator>(Tp val) { return condition_t(col_name, op::compare_t::gt, val); } constexpr auto operator==(Tp val) { return condition_t(col_name, op::compare_t::eq, val); } constexpr auto like(Tp val) { return condition_t(col_name, op::compare_t::like, val); } constexpr auto operator=(Tp val) { return value_t(col_name, val); } }; template constexpr column_t make_column_c(Name&& col_name) { return column_t{col_name}; } } // namespace sql } // namespace mix_cc