Skip to content

Commit c989bf2

Browse files
committed
Switch from UDLs to functions
1 parent dfe8f2f commit c989bf2

File tree

2 files changed

+8
-12
lines changed

2 files changed

+8
-12
lines changed

hdr/sqlite_modern_cpp.h

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,13 @@ namespace sqlite {
3636
T value;
3737
};
3838

39-
inline namespace literals {
40-
inline auto operator ""_sqlparam(const char *name, std::size_t) {
41-
return [name](auto &&arg) {
42-
return index_binding_helper<decltype(arg), true>{name, std::forward<decltype(arg)>(arg)};
43-
};
44-
}
45-
inline auto operator ""_sqlparam(unsigned long long index) {
46-
return [index](auto &&arg) {
47-
return index_binding_helper<decltype(arg)>{index, std::forward<decltype(arg)>(arg)};
48-
};
49-
}
39+
template<class T>
40+
auto named_parameter(const char *name, T &&arg) {
41+
return index_binding_helper<decltype(arg), true>{name, std::forward<decltype(arg)>(arg)};
42+
}
43+
template<class T>
44+
auto indexed_parameter(int index, T &&arg) {
45+
return index_binding_helper<decltype(arg)>{index, std::forward<decltype(arg)>(arg)};
5046
}
5147

5248
class row_iterator;

tests/named.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ TEST_CASE("binding named parameters works", "[named]") {
1111
db << "CREATE TABLE foo (a,b);";
1212

1313
int a = 1;
14-
db << "INSERT INTO foo VALUES (:first,:second)" << ":second"_sqlparam(2) << ":first"_sqlparam(a);
14+
db << "INSERT INTO foo VALUES (:first,:second)" << named_parameter(":second", 2) << named_parameter(":first", a);
1515

1616
db << "SELECT b FROM foo WHERE a=?;" << 1 >> a;
1717

0 commit comments

Comments
 (0)