Tidy up buffer_prefix overloads and test

This commit is contained in:
Vinnie Falco
2017-05-19 17:40:03 -07:00
parent 000349ba23
commit b76d19c3cb
3 changed files with 23 additions and 1 deletions

View File

@@ -2,6 +2,7 @@ Version 43
* Require Boost 1.64.0
* Fix strict aliasing warnings in buffers_view
* Tidy up buffer_prefix overloads and test
--------------------------------------------------------------------------------

View File

@@ -89,7 +89,8 @@ implementation_defined
#else
inline
typename std::enable_if<
! std::is_convertible<BufferSequence, boost::asio::const_buffer>::value,
! std::is_same<BufferSequence, boost::asio::const_buffer>::value &&
! std::is_same<BufferSequence, boost::asio::mutable_buffer>::value,
detail::buffer_prefix_helper<BufferSequence>>::type
#endif
buffer_prefix(std::size_t n, BufferSequence const& buffers)

View File

@@ -9,12 +9,32 @@
#include <beast/core/buffer_prefix.hpp>
#include <beast/core/consuming_buffers.hpp>
#include <beast/core/type_traits.hpp>
#include <beast/unit_test/suite.hpp>
#include <boost/asio/buffer.hpp>
#include <string>
namespace beast {
static_assert(
std::is_same<boost::asio::const_buffer, decltype(
buffer_prefix(0,
std::declval<boost::asio::const_buffer>()))>::value, "");
static_assert(
is_const_buffer_sequence<decltype(
buffer_prefix(0,
std::declval<boost::asio::const_buffers_1>()))>::value, "");
static_assert(
std::is_same<boost::asio::mutable_buffer, decltype(
buffer_prefix(0,
std::declval<boost::asio::mutable_buffer>()))>::value, "");
static_assert(
is_mutable_buffer_sequence<decltype(
buffer_prefix(0,
std::declval<boost::asio::mutable_buffers_1>()))>::value, "");
class buffer_prefix_test : public beast::unit_test::suite
{
public: