Replies: 1 comment 2 replies
-
The readme is just a hint. You have examples in examples folder |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I am trying out the example from the README
Curiously, it doesn't compile because
res->write(...)
returns abool
.When I rewrite this as
It works fine.
uWebSockets v20.62.0
C++20
Compile output
/Users/bart/src/server-cpp/server_ws.cc:17:21: error: member reference type 'bool' is not a pointer
->write(req->getParameter("name"))
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__functional/invoke.h:391:28: note: in instantiation of function template specialization 'main()::(anonymous class)::operator()<uWS::HttpResponse, uWS::HttpRequest>' requested here
_LIBCPP_CONSTEXPR decltype(std::declval<_Fp>()(std::declval<_Args>()...))
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__functional/invoke.h:401:19: note: while substituting deduced template arguments into function template '__invoke' [with _Fp = (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11) &, _Args = <uWS::HttpResponse *, uWS::HttpRequest *>]
static decltype(std::__invoke(std::declval<_XFp>(), std::declval<_XArgs>()...)) __try_call(int);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__functional/invoke.h:407:28: note: while substituting deduced template arguments into function template '__try_call' [with _XFp = (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11) &, _XArgs = (no value)]
using _Result = decltype(__try_call<_Fp, _Args...>(0));
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__functional/invoke.h:453:13: note: in instantiation of template class 'std::__invokable_r<void, (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11) &, uWS::HttpResponse *, uWS::HttpRequest *>' requested here
__invokable_r<_Ret, _Fp, _Args...>::value,
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__functional/invoke.h:517:31: note: in instantiation of template type alias '__nothrow_invokable_r' requested here
: integral_constant<bool, __nothrow_invokable_r<_Ret, _Fn, _Args...>::value> {};
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__functional/invoke.h:523:50: note: in instantiation of template class 'std::is_nothrow_invocable_r<void, (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11) &, uWS::HttpResponse *, uWS::HttpRequest *>' requested here
inline constexpr bool is_nothrow_invocable_r_v = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:282:30: note: in instantiation of variable template specialization 'std::is_nothrow_invocable_r_v<void, (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11) &, uWS::HttpResponse *, uWS::HttpRequest *>' requested here
std::is_nothrow_invocable_r_v<R, FCall, ArgTypes...>)>,
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:354:1: note: in instantiation of template type alias 'can_convert' requested here
__OFATS_ANY_INVOCABLE(, , false, &) // 000
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:301:46: note: expanded from macro '__OFATS_ANY_INVOCABLE'
class = std::enable_if_t<any_detail::can_convert<
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:354:1: note: in instantiation of default argument for 'any_invocable<(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)>' required here
__OFATS_ANY_INVOCABLE(, , false, &) // 000
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:303:5: note: expanded from macro '__OFATS_ANY_INVOCABLE'
any_invocable(F&& f) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bart/src/server-cpp/server_ws.cc:13:11: note: while substituting deduced template arguments into function template 'any_invocable' [with F = (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11), $1 = (no value)]
[](auto *res, auto *req) {
^
/Users/bart/src/server-cpp/server_ws.cc:13:11: error: no viable conversion from '(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)' to 'MoveOnlyFunction<void (HttpResponse *, HttpRequest *)>' (aka 'any_invocable<void (uWS::HttpResponse *, uWS::HttpRequest *)>')
[](auto *res, auto *req) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:187:3: note: candidate inherited constructor not viable: no known conversion from '(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)' to 'std::nullptr_t' for 1st argument
any_invocable_impl(std::nullptr_t) noexcept {}
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:354:1: note: constructor from base class 'any_invocable_impl<void, false, uWS::HttpResponse *, uWS::HttpRequest *>' inherited here
__OFATS_ANY_INVOCABLE(, , false, &) // 000
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:297:22: note: expanded from macro '__OFATS_ANY_INVOCABLE'
using base_type::base_type;
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:288:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from '(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)' to 'const ofats::any_invocable<void (uWS::HttpResponse *, uWS::HttpRequest *)> &' for 1st argument
class any_invocable;
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:288:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from '(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)' to 'ofats::any_invocable<void (uWS::HttpResponse *, uWS::HttpRequest *)> &&' for 1st argument
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:354:1: note: candidate template ignored: requirement 'any_detail::conjunction<std::negation<std::is_same<(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11), ofats::any_invocable<void (uWS::HttpResponse *, uWS::HttpRequest *)>>>, std::negation<ofats::any_detail::is_in_place_type<(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)>>, std::is_invocable_r<void, (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11) &, uWS::HttpResponse *, uWS::HttpRequest >, std::integral_constant<bool, true>, std::is_constructible<(lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11), (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)>>::value' was not satisfied [with F = (lambda at /Users/bart/src/server-cpp/server_ws.cc:13:11)]
__OFATS_ANY_INVOCABLE(, , false, &) // 000
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:303:5: note: expanded from macro '__OFATS_ANY_INVOCABLE'
any_invocable(F&& f) {
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:354:1: note: explicit constructor is not a candidate
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/MoveOnlyFunction.h:314:14: note: expanded from macro '__OFATS_ANY_INVOCABLE'
explicit any_invocable(std::in_place_type_t, Args&&... args) {
^
/Users/bart/src/server-cpp/server_ws.cc:13:11: note: candidate template ignored: could not match 'auto ()(type-parameter-0-0 *, type-parameter-0-1 *)' against 'ofats::any_invocable<void (uWS::HttpResponse *, uWS::HttpRequest *)>'
[](auto *res, auto *req) {
^
/Users/bart/src/server-cpp/build/_deps/uwebsockets_content-src/src/App.h:465:106: note: passing argument to parameter 'handler' here
TemplatedApp &&get(std::string pattern, MoveOnlyFunction<void(HttpResponse *, HttpRequest *)> &&handler) {
^
2 errors generated.
Beta Was this translation helpful? Give feedback.
All reactions