mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-15 20:31:16 +08:00
Backported value_t
This commit is contained in:
parent
085713d4d3
commit
4f99894cd4
@ -32,12 +32,38 @@
|
|||||||
namespace sqlpp
|
namespace sqlpp
|
||||||
{
|
{
|
||||||
template <typename T>
|
template <typename T>
|
||||||
auto value(T t) -> wrap_operand_t<T>
|
struct value_t : public wrap_operand_t<T>, public expression_operators<value_t<T>, value_type_of<wrap_operand_t<T>>>
|
||||||
|
{
|
||||||
|
using _base_t = wrap_operand_t<T>;
|
||||||
|
using _base_t::_base_t;
|
||||||
|
|
||||||
|
const _base_t& get_base() const
|
||||||
|
{
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
auto value(T t) -> value_t<T>
|
||||||
{
|
{
|
||||||
static_assert(is_wrapped_value_t<wrap_operand_t<T>>::value,
|
static_assert(is_wrapped_value_t<wrap_operand_t<T>>::value,
|
||||||
"value() is to be called with non-sql-type like int, or string");
|
"value() is to be called with non-sql-type like int, or string");
|
||||||
return {t};
|
return {t};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename Context, typename T>
|
||||||
|
struct serializer_t<Context, value_t<T>>
|
||||||
|
{
|
||||||
|
using _serialize_check = consistent_t;
|
||||||
|
using Operand = value_t<T>;
|
||||||
|
|
||||||
|
static Context& _(const Operand& t, Context& context)
|
||||||
|
{
|
||||||
|
serialize(t.get_base(), context);
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace sqlpp
|
} // namespace sqlpp
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user