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:
Vinnie Falco
2016-11-12 11:27:55 -05:00
parent 9fd8aede3d
commit f6dd744fd1
8 changed files with 349 additions and 228 deletions
+3 -2
View File
@@ -818,7 +818,8 @@ private:
{
return on_request(method, url,
major, minor, keep_alive, upgrade,
typename message_type::is_request{});
std::integral_constant<
bool, message_type::is_request>{});
}
bool
@@ -847,7 +848,7 @@ private:
{
return on_response(
status, reason, major, minor, keep_alive, upgrade,
std::integral_constant<bool, ! message_type::is_request::value>{});
std::integral_constant<bool, ! message_type::is_request>{});
}
void