int main() { test::TabBar t; auto x = t.alpha = 7; auto y = t.beta = "kaesekuchen"; auto z = t.gamma = true; { using T = decltype(remove_from(t)); static_assert(sqlpp::is_regular<T>::value, "type requirement"); } { using T = decltype(remove_from(t).where(t.beta != "transparent")); static_assert(sqlpp::is_regular<T>::value, "type requirement"); } { using T = decltype(dynamic_remove_from(db, t).dynamic_using_().dynamic_where()); static_assert(sqlpp::is_regular<T>::value, "type requirement"); } interpret(remove_from(t), printer).flush(); interpret(remove_from(t).where(t.beta != "transparent"), printer).flush(); interpret(remove_from(t).using_(t), printer).flush(); auto r = dynamic_remove_from(db, t).dynamic_using_().dynamic_where(); r = r.add_using_(t); r = r.add_where(t.beta != "transparent"); interpret(r, printer).flush(); return 0; }
int Remove(int, char* []) { MockDb db = {}; MockDb::_serializer_context_t printer = {}; const auto t = test::TabBar{}; const auto f = test::TabFoo{}; { using T = decltype(remove_from(t)); static_assert(sqlpp::is_regular<T>::value, "type requirement"); } { using T = decltype(remove_from(t).where(t.beta != "transparent")); static_assert(sqlpp::is_regular<T>::value, "type requirement"); } { using T = decltype(dynamic_remove_from(db, t).dynamic_using().dynamic_where()); static_assert(sqlpp::is_regular<T>::value, "type requirement"); } serialize(remove_from(t), printer).str(); serialize(remove_from(t).where(t.beta != "transparent"), printer).str(); serialize(remove_from(t).using_(t), printer).str(); serialize(remove_from(t).using_(f), printer).str(); auto r = dynamic_remove_from(db, t).dynamic_using().dynamic_where(); r.using_.add(t); r.where.add(t.beta != "transparent"); printer.reset(); std::cerr << serialize(r, printer).str() << std::endl; printer.reset(); std::cerr << serialize(remove_from(t).unconditionally(), printer).str() << std::endl; db(r); return 0; }