mirror of
https://github.com/boostorg/beast.git
synced 2025-08-03 14:54:32 +02:00
Constrain parser_v1 constructor
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
* Make value optional in param-list
|
||||
* Frame processing routines are member functions
|
||||
* Fix on_headers called twice from basic_parser_v1
|
||||
* Constrain parser_v1 constructor
|
||||
* Refine Parser concept
|
||||
|
||||
API Changes:
|
||||
|
@@ -98,19 +98,35 @@ private:
|
||||
bool flush_ = false;
|
||||
|
||||
public:
|
||||
/// Move constructor
|
||||
parser_v1(parser_v1&&) = default;
|
||||
|
||||
/// Copy constructor (disallowed)
|
||||
parser_v1(parser_v1 const&) = delete;
|
||||
|
||||
/// Move assignment (disallowed)
|
||||
parser_v1& operator=(parser_v1&&) = delete;
|
||||
|
||||
/// Copy assignment (disallowed)
|
||||
parser_v1& operator=(parser_v1 const&) = delete;
|
||||
|
||||
/// Default constructor
|
||||
parser_v1()
|
||||
: r_(m_)
|
||||
{
|
||||
}
|
||||
|
||||
/** Construct the parser.
|
||||
|
||||
@param args A list of arguments forwarded to the message constructor.
|
||||
*/
|
||||
template<class... Args>
|
||||
template<class Arg1, class... ArgN,
|
||||
class = typename std::enable_if<! std::is_same<
|
||||
typename std::decay<Arg1>::type, parser_v1>::value>>
|
||||
explicit
|
||||
parser_v1(Args&&... args)
|
||||
: m_(std::forward<Args>(args)...)
|
||||
parser_v1(Arg1&& arg1, ArgN&&... argn)
|
||||
: m_(std::forward<Arg1>(arg1),
|
||||
std::forward<ArgN>(argn)...)
|
||||
, r_(m_)
|
||||
{
|
||||
}
|
||||
|
Reference in New Issue
Block a user