basic_parser is abstract, not CRTP (API Change):

* `basic_parser` now uses pure virtual member functions instead
  of the curiously recurring template pattern.

Actions Required:

* Change uses of the `basic_parser` type to omit the `Derived`
  template parameter

* Classes derived from `basic_parser` no longer need to friend
  the base.

* Virtual functions in the derived class may be marked `override`.
This commit is contained in:
Vinnie Falco
2019-02-23 11:15:59 -08:00
parent bbd62dd181
commit 59bda5d9c6
33 changed files with 1365 additions and 1236 deletions
+2 -2
View File
@@ -894,10 +894,10 @@ public:
return {s.data(), s.size()};
}
template<class ConstBufferSequence, bool isRequest, class Derived>
template<class ConstBufferSequence, bool isRequest>
std::size_t
feed(ConstBufferSequence const& buffers,
basic_parser<isRequest, Derived>& p, error_code& ec)
basic_parser<isRequest>& p, error_code& ec)
{
p.eager(true);
return p.put(buffers, ec);