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
Uh oh!
There was an error while loading. Please reload this page.
-
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