forked from boostorg/beast
Constrain parser_v1 constructor
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
* Make value optional in param-list
|
* Make value optional in param-list
|
||||||
* Frame processing routines are member functions
|
* Frame processing routines are member functions
|
||||||
* Fix on_headers called twice from basic_parser_v1
|
* Fix on_headers called twice from basic_parser_v1
|
||||||
|
* Constrain parser_v1 constructor
|
||||||
* Refine Parser concept
|
* Refine Parser concept
|
||||||
|
|
||||||
API Changes:
|
API Changes:
|
||||||
|
@@ -98,19 +98,35 @@ private:
|
|||||||
bool flush_ = false;
|
bool flush_ = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/// Move constructor
|
||||||
parser_v1(parser_v1&&) = default;
|
parser_v1(parser_v1&&) = default;
|
||||||
|
|
||||||
|
/// Copy constructor (disallowed)
|
||||||
parser_v1(parser_v1 const&) = delete;
|
parser_v1(parser_v1 const&) = delete;
|
||||||
|
|
||||||
|
/// Move assignment (disallowed)
|
||||||
parser_v1& operator=(parser_v1&&) = delete;
|
parser_v1& operator=(parser_v1&&) = delete;
|
||||||
|
|
||||||
|
/// Copy assignment (disallowed)
|
||||||
parser_v1& operator=(parser_v1 const&) = delete;
|
parser_v1& operator=(parser_v1 const&) = delete;
|
||||||
|
|
||||||
|
/// Default constructor
|
||||||
|
parser_v1()
|
||||||
|
: r_(m_)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/** Construct the parser.
|
/** Construct the parser.
|
||||||
|
|
||||||
@param args A list of arguments forwarded to the message constructor.
|
@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
|
explicit
|
||||||
parser_v1(Args&&... args)
|
parser_v1(Arg1&& arg1, ArgN&&... argn)
|
||||||
: m_(std::forward<Args>(args)...)
|
: m_(std::forward<Arg1>(arg1),
|
||||||
|
std::forward<ArgN>(argn)...)
|
||||||
, r_(m_)
|
, r_(m_)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user