diff --git a/example/http/server/fast/http_server_fast.cpp b/example/http/server/fast/http_server_fast.cpp index b667bec8..37c19edb 100644 --- a/example/http/server/fast/http_server_fast.cpp +++ b/example/http/server/fast/http_server_fast.cpp @@ -88,7 +88,8 @@ public: private: using alloc_t = fields_alloc; - using request_body_t = http::basic_dynamic_body>; + //using request_body_t = http::basic_dynamic_body>; + using request_body_t = http::string_body; // The acceptor used to listen for incoming connections. tcp::acceptor& acceptor_; diff --git a/include/boost/beast/core/detail/type_traits.hpp b/include/boost/beast/core/detail/type_traits.hpp index 140d1750..8bc5a869 100644 --- a/include/boost/beast/core/detail/type_traits.hpp +++ b/include/boost/beast/core/detail/type_traits.hpp @@ -162,8 +162,7 @@ template struct is_contiguous_container() = std::declval().size(), - std::declval() = std::declval().data(), - (void)0), + std::declval() = std::declval().data()), typename std::enable_if< std::is_same< typename std::remove_cv::type, diff --git a/include/boost/beast/core/type_traits.hpp b/include/boost/beast/core/type_traits.hpp index f5e466a7..d400e7f6 100644 --- a/include/boost/beast/core/type_traits.hpp +++ b/include/boost/beast/core/type_traits.hpp @@ -118,8 +118,7 @@ struct has_get_executor : std::false_type {}; template struct has_get_executor().get_executor(), - (void)0)>> : std::true_type {}; + std::declval().get_executor())>> : std::true_type {}; #endif /** Alias for `T::lowest_layer_type` if it exists, else `T` @@ -195,8 +194,8 @@ template struct is_async_read_stream().async_read_some( std::declval(), - std::declval()), - (void)0)>> : std::integral_constant()) + )>> : std::integral_constant::value > {}; #endif @@ -239,8 +238,8 @@ template struct is_async_write_stream().async_write_some( std::declval(), - std::declval()), - (void)0)>> : std::integral_constant()) + )>> : std::integral_constant::value > {}; #endif @@ -285,8 +284,8 @@ struct is_sync_read_stream()), std::declval() = std::declval().read_some( std::declval(), - std::declval()), - (void)0)>> : std::true_type {}; + std::declval()) + )>> : std::true_type {}; #endif /** Determine if `T` meets the requirements of @b SyncWriteStream. @@ -329,8 +328,8 @@ struct is_sync_write_stream()), std::declval() = std::declval().write_some( std::declval(), - std::declval()), - (void)0)>> : std::true_type {}; + std::declval()) + )>> : std::true_type {}; #endif /** Determine if `T` meets the requirements of @b AsyncStream. @@ -467,8 +466,8 @@ struct is_file() = std::declval().write( std::declval(), std::declval(), - std::declval()), - (void)0)>> : std::integral_constant()) + )>> : std::integral_constant::value && std::is_destructible::value > {}; diff --git a/include/boost/beast/http/detail/chunk_encode.hpp b/include/boost/beast/http/detail/chunk_encode.hpp index cad48418..87ac9ec4 100644 --- a/include/boost/beast/http/detail/chunk_encode.hpp +++ b/include/boost/beast/http/detail/chunk_encode.hpp @@ -57,8 +57,8 @@ struct is_chunk_extensions : std::false_type {}; template struct is_chunk_extensions() = std::declval().str(), - (void)0)>> : std::true_type + std::declval() = std::declval().str() + )>> : std::true_type { }; diff --git a/include/boost/beast/http/detail/type_traits.hpp b/include/boost/beast/http/detail/type_traits.hpp index 1d0c9918..8a6a7df0 100644 --- a/include/boost/beast/http/detail/type_traits.hpp +++ b/include/boost/beast/http/detail/type_traits.hpp @@ -93,8 +93,8 @@ struct is_body_sized() = - T::size(std::declval()), - (void)0)>> : std::true_type {}; + T::size(std::declval()) + )>> : std::true_type {}; template struct is_fields_helper : T diff --git a/include/boost/beast/http/type_traits.hpp b/include/boost/beast/http/type_traits.hpp index 0c821044..e2cf5215 100644 --- a/include/boost/beast/http/type_traits.hpp +++ b/include/boost/beast/http/type_traits.hpp @@ -86,8 +86,8 @@ struct is_body_writer().init(std::declval()), std::declval>&>() = - std::declval().get(std::declval()), - (void)0)>> : std::integral_constant().get(std::declval()) + )>> : std::integral_constant::value && ( (std::is_constructible(), std::declval()), std::declval().finish( - std::declval()), - (void)0)>> : std::integral_constant()) + )>> : std::integral_constant&, typename T::value_type&>::value &&