Commit 12b7e5e1 authored by Dominik Charousset's avatar Dominik Charousset

Clarify semantics of consume functions

(cherry picked from commit 2cf81be9)
parent 583e4dca
......@@ -91,7 +91,8 @@ struct parser_state {
c = next();
}
/// Tries to read `x` as the next character (skips any whitespaces).
/// Tries to read `x` as the next character, automatically skipping leading
/// whitespaces.
bool consume(char x) noexcept {
skip_whitespaces();
if (current() == x) {
......@@ -101,9 +102,9 @@ struct parser_state {
return false;
}
/// Consumes the next character if it satisfies given predicate (skips any
/// whitespaces).
template<class Predicate>
/// Consumes the next character if it satisfies given predicate, automatically
/// skipping leading whitespaces.
template <class Predicate>
bool consume_if(Predicate predicate) noexcept {
skip_whitespaces();
if (predicate(current())) {
......@@ -113,7 +114,8 @@ struct parser_state {
return false;
}
/// Tries to read `x` as the next character, not allowing any whitespaces.
/// Tries to read `x` as the next character without automatically skipping
/// leading whitespaces.
bool consume_strict(char x) noexcept {
if (current() == x) {
next();
......@@ -122,9 +124,9 @@ struct parser_state {
return false;
}
/// Consumes the next character if it satisfies given predicate, not allowing
/// any whitespaces.
template<class Predicate>
/// Consumes the next character if it satisfies given predicate without
/// automatically skipping leading whitespaces.
template <class Predicate>
bool consume_strict_if(Predicate predicate) noexcept {
if (predicate(current())) {
next();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment