mirror of
https://github.com/CrowCpp/Crow.git
synced 2024-06-07 21:10:44 +00:00
commit
120e1f3ad2
@ -81,10 +81,14 @@ namespace crow
|
||||
|
||||
///Create a route using a rule (**Use CROW_ROUTE instead**)
|
||||
template<uint64_t Tag>
|
||||
auto route(std::string&& rule)
|
||||
#ifdef CROW_CAN_USE_CPP17
|
||||
-> typename std::invoke_result<decltype(&Router::new_rule_tagged<Tag>), Router, std::string&&>::type
|
||||
#ifdef CROW_GCC83_WORKAROUND
|
||||
auto& route(std::string&& rule)
|
||||
#else
|
||||
auto route(std::string&& rule)
|
||||
#endif
|
||||
#if defined CROW_CAN_USE_CPP17 && !defined CROW_GCC83_WORKAROUND
|
||||
-> typename std::invoke_result<decltype(&Router::new_rule_tagged<Tag>), Router, std::string&&>::type
|
||||
#elif !defined CROW_GCC83_WORKAROUND
|
||||
-> typename std::result_of<decltype (&Router::new_rule_tagged<Tag>)(Router, std::string&&)>::type
|
||||
#endif
|
||||
{
|
||||
|
@ -57,3 +57,11 @@
|
||||
#define noexcept throw()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__ == 8 && __GNUC_MINOR__ < 4
|
||||
#if __cplusplus > 201103L
|
||||
#define CROW_GCC83_WORKAROUND
|
||||
#else
|
||||
#error "GCC 8.1 - 8.3 has a bug that prevents crow from compiling with C++11. Please update GCC to > 8.3 or use C++ > 11."
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user