Simplify some type trait expressions

fix #466
This commit is contained in:
Vinnie Falco
2018-04-26 17:30:46 -07:00
parent 22e3f014ad
commit c592782a1b
6 changed files with 22 additions and 23 deletions

View File

@@ -88,7 +88,8 @@ public:
private:
using alloc_t = fields_alloc<char>;
using request_body_t = http::basic_dynamic_body<boost::beast::flat_static_buffer<1024 * 1024>>;
//using request_body_t = http::basic_dynamic_body<boost::beast::flat_static_buffer<1024 * 1024>>;
using request_body_t = http::string_body;
// The acceptor used to listen for incoming connections.
tcp::acceptor& acceptor_;

View File

@@ -162,8 +162,7 @@ template<class T, class E>
struct is_contiguous_container<T, E, void_t<
decltype(
std::declval<std::size_t&>() = std::declval<T const&>().size(),
std::declval<E*&>() = std::declval<T&>().data(),
(void)0),
std::declval<E*&>() = std::declval<T&>().data()),
typename std::enable_if<
std::is_same<
typename std::remove_cv<E>::type,

View File

@@ -118,8 +118,7 @@ struct has_get_executor : std::false_type {};
template<class T>
struct has_get_executor<T, beast::detail::void_t<decltype(
std::declval<T&>().get_executor(),
(void)0)>> : std::true_type {};
std::declval<T&>().get_executor())>> : std::true_type {};
#endif
/** Alias for `T::lowest_layer_type` if it exists, else `T`
@@ -195,8 +194,8 @@ template<class T>
struct is_async_read_stream<T, detail::void_t<decltype(
std::declval<T>().async_read_some(
std::declval<detail::MutableBufferSequence>(),
std::declval<detail::ReadHandler>()),
(void)0)>> : std::integral_constant<bool,
std::declval<detail::ReadHandler>())
)>> : std::integral_constant<bool,
has_get_executor<T>::value
> {};
#endif
@@ -239,8 +238,8 @@ template<class T>
struct is_async_write_stream<T, detail::void_t<decltype(
std::declval<T>().async_write_some(
std::declval<detail::ConstBufferSequence>(),
std::declval<detail::WriteHandler>()),
(void)0)>> : std::integral_constant<bool,
std::declval<detail::WriteHandler>())
)>> : std::integral_constant<bool,
has_get_executor<T>::value
> {};
#endif
@@ -285,8 +284,8 @@ struct is_sync_read_stream<T, detail::void_t<decltype(
std::declval<detail::MutableBufferSequence>()),
std::declval<std::size_t&>() = std::declval<T>().read_some(
std::declval<detail::MutableBufferSequence>(),
std::declval<boost::system::error_code&>()),
(void)0)>> : std::true_type {};
std::declval<boost::system::error_code&>())
)>> : std::true_type {};
#endif
/** Determine if `T` meets the requirements of @b SyncWriteStream.
@@ -329,8 +328,8 @@ struct is_sync_write_stream<T, detail::void_t<decltype(
std::declval<detail::ConstBufferSequence>()),
std::declval<std::size_t&>() = std::declval<T&>().write_some(
std::declval<detail::ConstBufferSequence>(),
std::declval<boost::system::error_code&>()),
(void)0)>> : std::true_type {};
std::declval<boost::system::error_code&>())
)>> : std::true_type {};
#endif
/** Determine if `T` meets the requirements of @b AsyncStream.
@@ -467,8 +466,8 @@ struct is_file<T, detail::void_t<decltype(
std::declval<std::size_t&>() = std::declval<T&>().write(
std::declval<void const*>(),
std::declval<std::size_t>(),
std::declval<error_code&>()),
(void)0)>> : std::integral_constant<bool,
std::declval<error_code&>())
)>> : std::integral_constant<bool,
std::is_default_constructible<T>::value &&
std::is_destructible<T>::value
> {};

View File

@@ -57,8 +57,8 @@ struct is_chunk_extensions : std::false_type {};
template<class T>
struct is_chunk_extensions<T, beast::detail::void_t<decltype(
std::declval<string_view&>() = std::declval<T&>().str(),
(void)0)>> : std::true_type
std::declval<string_view&>() = std::declval<T&>().str()
)>> : std::true_type
{
};

View File

@@ -93,8 +93,8 @@ struct is_body_sized<T, beast::detail::void_t<
typename T::value_type,
decltype(
std::declval<std::uint64_t&>() =
T::size(std::declval<typename T::value_type const&>()),
(void)0)>> : std::true_type {};
T::size(std::declval<typename T::value_type const&>())
)>> : std::true_type {};
template<class T>
struct is_fields_helper : T

View File

@@ -86,8 +86,8 @@ struct is_body_writer<T, beast::detail::void_t<
std::declval<typename T::writer&>().init(std::declval<error_code&>()),
std::declval<boost::optional<std::pair<
typename T::writer::const_buffers_type, bool>>&>() =
std::declval<typename T::writer>().get(std::declval<error_code&>()),
(void)0)>> : std::integral_constant<bool,
std::declval<typename T::writer>().get(std::declval<error_code&>())
)>> : std::integral_constant<bool,
boost::asio::is_const_buffer_sequence<
typename T::writer::const_buffers_type>::value && (
(std::is_constructible<typename T::writer,
@@ -142,8 +142,8 @@ struct is_body_reader<T, beast::detail::void_t<decltype(
std::declval<boost::asio::const_buffer>(),
std::declval<error_code&>()),
std::declval<typename T::reader&>().finish(
std::declval<error_code&>()),
(void)0)>> : std::integral_constant<bool,
std::declval<error_code&>())
)>> : std::integral_constant<bool,
(std::is_constructible<typename T::reader,
header<true, detail::fields_model>&,
typename T::value_type&>::value &&