Commit 2cf81be9 authored by Dominik Charousset's avatar Dominik Charousset

Clarify semantics of consume functions

parent d85a89e3
......@@ -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,8 +102,8 @@ struct parser_state {
return false;
}
/// Consumes the next character if it satisfies given predicate (skips any
/// whitespaces).
/// Consumes the next character if it satisfies given predicate, automatically
/// skipping leading whitespaces.
template <class Predicate>
bool consume_if(Predicate predicate) noexcept {
skip_whitespaces();
......@@ -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,8 +124,8 @@ struct parser_state {
return false;
}
/// Consumes the next character if it satisfies given predicate, not allowing
/// any whitespaces.
/// 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())) {
......
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