| 37 | /// has been consumed. |
| 38 | template <typename InputIterator> |
| 39 | std::tuple<result_type, InputIterator> parse(request& req, |
| 40 | InputIterator begin, InputIterator end) |
| 41 | { |
| 42 | while (begin != end) |
| 43 | { |
| 44 | result_type result = consume(req, *begin++); |
| 45 | if (result == good || result == bad) |
| 46 | return std::make_tuple(result, begin); |
| 47 | } |
| 48 | return std::make_tuple(indeterminate, begin); |
| 49 | } |
| 50 | |
| 51 | private: |
| 52 | /// Handle the next character of input. |