Donner
C++20 SVG rendering library
Loading...
Searching...
No Matches
donner::parser::LengthParserImpl Class Reference

Implementation of the LengthParser. More...

Inheritance diagram for donner::parser::LengthParserImpl:
[legend]
Collaboration diagram for donner::parser::LengthParserImpl:
[legend]

Public Member Functions

 LengthParserImpl (std::string_view str, LengthParser::Options options)
 Construct a new LengthParser implementation object.
ParseResult< LengthParser::Resultparse ()
 Parse a length and return the result or error.
bool unitRequired (double number) const
 Check if a unit is required for the given number.
Public Member Functions inherited from donner::parser::ParserBase
 ParserBase (std::string_view str)
 Create a new parser.

Additional Inherited Members

Protected Member Functions inherited from donner::parser::ParserBase
std::string_view take (size_t count)
 Removes and returns count characters from the remaining string.
void skipWhitespace ()
 Remove whitespace characters, from the front of remaining_ if they exist, where whitespace is based on the result of isWhitespace().
void skipCommaWhitespace ()
 Remove whitespace characters and up to one ',' character from the front of remaining_ if they exist.
bool isWhitespace (char ch) const
 Returns if the character is whitespace, where whitespace is defined as being either U+000A LINE FEED, U+000D CARRIAGE RETURN, U+0009 CHARACTER TABULATION, or U+0020 SPACE.
FileOffset currentOffset (int index=0) const
 Return the location of the parser's cursor, in characters from the start of the screen.
size_t consumedChars () const
 Returns the number of characters consumed by the parser.
ParseResult< double > readNumber ()
 Read a number, note that this does not skip whitespace.
std::optional< ParseErrorreadNumbers (std::span< double > resultStorage)
 Read resultStorage.size() numbers, separated by whitespace and an optional comma.
Protected Attributes inherited from donner::parser::ParserBase
const std::string_view str_
 The original string.
std::string_view remaining_
 A slice of the remaining characters to parse within str_.

Detailed Description

Implementation of the LengthParser.

Constructor & Destructor Documentation

◆ LengthParserImpl()

donner::parser::LengthParserImpl::LengthParserImpl ( std::string_view str,
LengthParser::Options options )
inline

Construct a new LengthParser implementation object.

Parameters
strString to parse.
optionsParser options.

Member Function Documentation

◆ unitRequired()

bool donner::parser::LengthParserImpl::unitRequired ( double number) const
inline

Check if a unit is required for the given number.

Parameters
numberNumber to check.

The documentation for this class was generated from the following file:
  • donner/base/parser/LengthParser.cc