forked from boostorg/beast
Refactor message and message_headers declarations:
message_headers is now a set of partial class template specializations instead of a template class alias. This solves a problem where template functions taking message_headers as a parameter could not deduce argument types, since std::conditional obscured the deduced context. Both classes are refactored to share declarations using an #ifdef, to eliminate an ugly set of extra declarations needed when building the documentation. Copy and move class special members are added. A new function message::base() is provided which returns the message_headers portion of a message.
This commit is contained in:
@@ -168,13 +168,13 @@ public:
|
||||
void testHeaders()
|
||||
{
|
||||
{
|
||||
using req_type = request_headers<headers>;
|
||||
using req_type = request_headers;
|
||||
static_assert(std::is_copy_constructible<req_type>::value, "");
|
||||
static_assert(std::is_move_constructible<req_type>::value, "");
|
||||
static_assert(std::is_copy_assignable<req_type>::value, "");
|
||||
static_assert(std::is_move_assignable<req_type>::value, "");
|
||||
|
||||
using res_type = response_headers<headers>;
|
||||
using res_type = response_headers;
|
||||
static_assert(std::is_copy_constructible<res_type>::value, "");
|
||||
static_assert(std::is_move_constructible<res_type>::value, "");
|
||||
static_assert(std::is_copy_assignable<res_type>::value, "");
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
|
||||
{
|
||||
MoveHeaders h;
|
||||
request_headers<MoveHeaders> r{std::move(h)};
|
||||
message_headers<true, MoveHeaders> r{std::move(h)};
|
||||
BEAST_EXPECT(h.moved_from);
|
||||
BEAST_EXPECT(r.headers.moved_to);
|
||||
request<string_body, MoveHeaders> m{std::move(r)};
|
||||
|
||||
Reference in New Issue
Block a user