1#ifndef LH_CSS_SELECTOR_H
2#define LH_CSS_SELECTOR_H
37 if(
a == val.
a &&
b == val.
b &&
c == val.
c &&
d == val.
d)
46 if(
a != val.
a ||
b != val.
b ||
c != val.
c ||
d != val.
d)
94 if((*
this) == val)
return true;
95 if((*
this) > val)
return true;
110 if((*
this) <= val && (*
this) != val)
151 using vector = std::vector<css_attribute_selector>;
175 using ptr = shared_ptr<css_element_selector>;
198 using vector = std::vector<css_selector::ptr>;
261 typedef std::unique_ptr<used_selector>
ptr;
262 typedef std::vector<used_selector::ptr>
vector;
Definition css_selector.h:173
css_attribute_selector::vector m_attrs
Definition css_selector.h:179
string_id m_prefix
Definition css_selector.h:177
shared_ptr< css_element_selector > ptr
Definition css_selector.h:175
string_id m_tag
Definition css_selector.h:178
Definition css_selector.h:195
css_combinator m_combinator
Definition css_selector.h:205
void calc_specificity()
Definition css_selector.cpp:9
media_query_list_list::ptr m_media_query
Definition css_selector.h:206
selector_specificity m_specificity
Definition css_selector.h:201
shared_ptr< css_selector > ptr
Definition css_selector.h:197
css_element_selector m_right
Definition css_selector.h:204
bool parse(const string &text, document_mode mode)
Definition css_selector.cpp:705
style::ptr m_style
Definition css_selector.h:207
void add_media_to_doc(document *doc) const
Definition css_selector.cpp:32
css_selector::ptr m_left
Definition css_selector.h:203
std::vector< css_selector::ptr > vector
Definition css_selector.h:198
bool is_media_valid() const
Definition css_selector.h:216
int m_order
Definition css_selector.h:202
std::shared_ptr< style > ptr
Definition style.h:42
Definition css_selector.h:259
std::unique_ptr< used_selector > ptr
Definition css_selector.h:261
used_selector(const css_selector::ptr &selector, bool used)
Definition css_selector.h:267
bool m_used
Definition css_selector.h:265
std::vector< used_selector::ptr > vector
Definition css_selector.h:262
css_selector::ptr m_selector
Definition css_selector.h:264
type
Definition core.h:681
Definition background.h:12
css_combinator
Definition css_selector.h:185
@ combinator_general_sibling
Definition css_selector.h:189
@ combinator_descendant
Definition css_selector.h:186
@ combinator_adjacent_sibling
Definition css_selector.h:188
@ combinator_child
Definition css_selector.h:187
vector< css_token > css_token_vector
Definition css_tokenizer.h:151
css_selector::vector parse_selector_list(const css_token_vector &tokens, int options, document_mode mode)
Definition css_selector.cpp:676
string_id _id(const string &str)
Definition string_id.cpp:38
bool operator<(const css_selector &v1, const css_selector &v2)
Definition css_selector.h:237
@ forbid_pseudo_elements
Definition css_selector.h:278
@ forgiving_mode
Definition css_selector.h:277
@ strict_mode
Definition css_selector.h:276
attr_select_type
Definition css_selector.h:122
@ select_pseudo_element
Definition css_selector.h:127
@ select_class
Definition css_selector.h:123
@ select_attr
Definition css_selector.h:125
@ select_pseudo_class
Definition css_selector.h:126
@ select_id
Definition css_selector.h:124
document_mode
Definition types.h:47
const string_id empty_id
Definition string_id.cpp:35
attr_matcher
Definition css_selector.h:132
@ attribute_contains_word
Definition css_selector.h:136
@ attribute_exists
Definition css_selector.h:133
@ attribute_starts_with_string_hyphen
Definition css_selector.h:138
@ attribute_contains_string
Definition css_selector.h:135
@ attribute_equals
Definition css_selector.h:134
@ attribute_ends_with_string
Definition css_selector.h:139
@ attribute_starts_with_string
Definition css_selector.h:137
bool operator>(const css_selector &v1, const css_selector &v2)
Definition css_selector.h:228
Definition css_selector.h:150
std::vector< css_attribute_selector > vector
Definition css_selector.h:151
string_id prefix
Definition css_selector.h:154
int b
Definition css_selector.h:162
int a
Definition css_selector.h:162
string value
Definition css_selector.h:156
attr_select_type type
Definition css_selector.h:153
std::vector< shared_ptr< css_selector > > selector_list
Definition css_selector.h:161
bool caseless_match
Definition css_selector.h:159
string_id name
Definition css_selector.h:155
attr_matcher matcher
Definition css_selector.h:158
css_attribute_selector(attr_select_type type=select_class, string name="")
Definition css_selector.h:164
Definition css_selector.h:13
bool operator!=(const selector_specificity &val) const
Definition css_selector.h:44
bool operator<=(const selector_specificity &val) const
Definition css_selector.h:99
selector_specificity(int va=0, int vb=0, int vc=0, int vd=0)
Definition css_selector.h:19
int c
Definition css_selector.h:16
int d
Definition css_selector.h:17
void operator+=(const selector_specificity &val)
Definition css_selector.h:27
bool operator==(const selector_specificity &val) const
Definition css_selector.h:35
int b
Definition css_selector.h:15
bool operator>(const selector_specificity &val) const
Definition css_selector.h:53
int a
Definition css_selector.h:14
bool operator<(const selector_specificity &val) const
Definition css_selector.h:108
bool operator>=(const selector_specificity &val) const
Definition css_selector.h:92