8#ifndef INCLUDED_CSS_PARSER_BASE_HPP
9#define INCLUDED_CSS_PARSER_BASE_HPP
11#include "orcus/env.hpp"
12#include "orcus/css_types.hpp"
13#include "orcus/exception.hpp"
14#include "orcus/parser_base.hpp"
19namespace orcus {
namespace css {
26 static void throw_with(
const char* msg_before,
char c,
const char* msg_after);
27 static void throw_with(
const char* msg_before,
const char* p,
size_t n,
const char* msg_after);
28 static void throw_with(
const char* msg_before, std::string_view s,
const char* msg_after);
38 void identifier(
const char*& p,
size_t& len, std::string_view extra = std::string_view{});
39 uint8_t parse_uint8();
48 double parse_percent();
49 double parse_double_or_throw();
51 void literal(
const char*& p,
size_t& len,
char quote);
52 void skip_to(
const char*& p,
size_t& len,
char c);
64 void skip_blanks_reverse();
68 void skip_comments_and_blanks();
69 void set_combinator(
char c, css::combinator_t combinator);
70 void reset_before_block();
73 size_t m_simple_selector_count;
74 combinator_t m_combinator;
Definition: css_parser_base.hpp:22
Definition: css_parser_base.hpp:32
void skip_to_or_blank(const char *&p, size_t &len, const char *chars, size_t n_chars)
std::string_view parse_value()
Definition: parser_base.hpp:27
Definition: parser_base.hpp:41