XML Parser (and supporting constructs)
Detailed DescriptionTypedef Documentation◆ token_range_t
A range of pointers denoting a token within a character stream. token_range_t is a utility class mostly used by the in-memory ASL parsers such as xml_parser_t. Token ranges are accompanied by a host of algorithms used to compare them to one another. Because they are a pair of pointers they do not copy any memory dynamically, and so are very fast to construct and copy. The data to which they point could be shared across countless other token_range_t instances, so the modification of the tokens they represent is prohibited. A NULL-token as it relates to token_range_t is one where both the first and second value are equivalent, but any value. Typically this value is 0, but this is not required. Definition at line 145 of file lex_shared_fwd.hpp. Function Documentation◆ bounded_equal() [1/3]
Compares two ranges of data with a binary predicate.
Definition at line 66 of file lex_shared_fwd.hpp. ◆ bounded_equal() [2/3]
Compares two ranges of data with a default binary predicate (std::equal_to<>()).
Definition at line 94 of file lex_shared_fwd.hpp. ◆ bounded_equal() [3/3]
Compares two ranges of data with a default binary predicate (std::equal_to<>()).
Definition at line 119 of file lex_shared_fwd.hpp. ◆ operator<<()
Serializes a token_range_t to an output stream
Definition at line 223 of file lex_shared_fwd.hpp. ◆ static_token_range()
static_token_range is a utility class that creates an token_range_t from a compile-time NTBS (null-terminated byte string). The precondition for this function is that the token's source is an NTBS that exists at least as long as the token itself. Note that this function does not copy the character range internally, and makes no warranties as to string ownership. Definition at line 245 of file lex_shared_fwd.hpp. ◆ token_range_equal()
Compares two token ranges for equality. For two token ranges to be equal their lengths must be the same and a character-by-character comparison of the two ranges must be true.
Definition at line 164 of file lex_shared_fwd.hpp. ◆ token_range_less()
Compares two token ranges for strict weak ordering. Unlike standard string comparison this algorithm optimizes sorting based on the lengths of the tokens involved. If a token is smaller than another it is considered to be "less" than the other. Character-based sorting only takes place when the length of the two tokens is the same. When this is the case the algorithm sorts the tokens in the same manner as adobe::mismatch.
Definition at line 194 of file lex_shared_fwd.hpp. |