|
template<class T , class A > |
decltype(auto) constexpr | auto_serialize (T &&v, A &al) |
|
template<class TI , class F , class VC , class TJ > |
auto | subquery (std::string_view name, std::string_view opt_tag, [[maybe_unused]] TI ti, F &&lifted, VC &&valid_check, TJ &&to_json) noexcept(std::is_nothrow_move_constructible_v< F > &&std::is_nothrow_move_constructible_v< VC > &&std::is_nothrow_move_constructible_v< TJ >) |
| subquery overload for functions taking a single flag and without automatically deduced JSON serialization More...
|
|
template<class F , class VC , class TI > |
auto | subquery (std::string_view name, std::string_view opt_tag, TI ti, F &&lifted, VC &&valid_check) noexcept(std::is_nothrow_move_constructible_v< F > &&std::is_nothrow_move_constructible_v< VC >) -> decltype(auto) |
| subquery overload for functions taking no flag and with automatically deduced JSON serialization More...
|
|
template<class F , class VC , class TJ , class = std::enable_if_t<!std::is_same_v<F, std::string_view>>> |
auto | subquery (std::string_view name, F &&lifted, VC &&valid_check, TJ &&to_json) noexcept(std::is_nothrow_move_constructible_v< F > &&std::is_nothrow_move_constructible_v< VC > &&std::is_nothrow_move_constructible_v< TJ >) |
| subquery overload for functions taking no flag and without automatically deduced JSON serialization More...
|
|
template<class F , class VC , class = std::enable_if_t<!std::is_same_v<F, std::string_view>>> |
auto | subquery (std::string_view name, F &&lifted, VC &&valid_check) noexcept(std::is_nothrow_move_constructible_v< F > &&std::is_nothrow_move_constructible_v< VC >) -> decltype(auto) |
| subquery overload for functions taking no flag and with automatically deduced JSON serialization More...
|
|
Subquerying implementation details
template<class TI , class F , class VC , class TJ >
auto subq_impl::subquery |
( |
std::string_view |
name, |
|
|
std::string_view |
opt_tag, |
|
|
[[maybe_unused] ] TI |
ti, |
|
|
F && |
lifted, |
|
|
VC && |
valid_check, |
|
|
TJ && |
to_json |
|
) |
| |
|
noexcept |
subquery overload for functions taking a single flag and without automatically deduced JSON serialization
Note: all three callable parameters are perfectly forwarded to their point of call
- Template Parameters
-
- Parameters
-
[in] | name | the name of the subquery |
[in] | opt_tag | the key of the flag value(s) in the query string |
[in] | ti | a TypeIdentity<Flag> object where Flag is the type of flag that lifted takes as parameter |
[in] | lifted | the lifted overload set or function |
[in] | valid_check | a callable used to check the result of the call to lifted ; must have a return type contextually convertible to bool |
[in] | to_json | a callable used to serialize the result of the call to lifted when valid_check has returned an contextual equivalent of true |
- Returns
- a callable able to process the specified subquery
template<class F , class VC , class TJ , class = std::enable_if_t<!std::is_same_v<F, std::string_view>>>
auto subq_impl::subquery |
( |
std::string_view |
name, |
|
|
F && |
lifted, |
|
|
VC && |
valid_check, |
|
|
TJ && |
to_json |
|
) |
| |
|
noexcept |
subquery overload for functions taking no flag and without automatically deduced JSON serialization
Note: all three callable parameters are perfectly forwarded to their point of call
- Template Parameters
-
- Parameters
-
[in] | name | the name of the subquery |
[in] | lifted | the lifted overload set or function |
[in] | valid_check | a callable used to check the result of the call to lifted ; must have a return type contextually convertible to bool |
[in] | to_json | a callable used to serialize the result of the call to lifted when valid_check has returned an contextual equivalent of true |
- Returns
- a callable able to process the specified subquery
template<class F , class VC , class = std::enable_if_t<!std::is_same_v<F, std::string_view>>>
auto subq_impl::subquery |
( |
std::string_view |
name, |
|
|
F && |
lifted, |
|
|
VC && |
valid_check |
|
) |
| -> decltype(auto) |
|
noexcept |
subquery overload for functions taking no flag and with automatically deduced JSON serialization
Note: both callable parameters are perfectly forwarded to their point of call
- Template Parameters
-
- Parameters
-
[in] | name | the name of the subquery |
[in] | lifted | the lifted overload set or function |
[in] | valid_check | a callable used to check the result of the call to lifted ; must have a return type contextually convertible to bool |
- Returns
- a callable able to process the specified subquery