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);
37 void identifier(
const char*& p,
size_t& len,
const char* extra =
nullptr,
size_t n_extra = 0);
38 uint8_t parse_uint8();
39 double parse_percent();
40 double parse_double_or_throw();
42 void literal(
const char*& p,
size_t& len,
char quote);
43 void skip_to(
const char*& p,
size_t& len,
char c);
54 void skip_blanks_reverse();
58 void skip_comments_and_blanks();
59 void set_combinator(
char c, css::combinator_t combinator);
60 void reset_before_block();
63 size_t m_simple_selector_count;
64 combinator_t m_combinator;
Definition: css_parser_base.hpp:22
Definition: css_parser_base.hpp:31
void skip_to_or_blank(const char *&p, size_t &len, const char *chars, size_t n_chars)
Definition: parser_base.hpp:26
Definition: parser_base.hpp:40