php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
selectors.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2020-2022 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_CSS_SELECTORS_H
8#define LEXBOR_CSS_SELECTORS_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "lexbor/core/dobject.h"
15#include "lexbor/css/base.h"
21
22
37
38
41
44
45LXB_API void
47
49lxb_css_selectors_destroy(lxb_css_selectors_t *selectors, bool self_destroy);
50
53 const lxb_char_t *data, size_t length);
54
57 const lxb_char_t *data, size_t length);
58
61 const lxb_char_t *data, size_t length);
62
65 const lxb_char_t *data, size_t length);
66
69 const lxb_char_t *data, size_t length);
70
73 const lxb_char_t *data, size_t length);
74
77 const lxb_char_t *data, size_t length);
78
81 const lxb_char_t *data, size_t length);
82
85 const lxb_char_t *data, size_t length);
86
87/*
88 * Inline functions
89 */
90lxb_inline void
92 lxb_css_selector_t *selector)
93{
94 if (selectors->list_last->last != NULL) {
95 lxb_css_selector_append_next(selectors->list_last->last, selector);
96 }
97 else {
98 selectors->list_last->first = selector;
99 }
100
101 selectors->list_last->last = selector;
102}
103
104lxb_inline void
107{
108 if (selectors->list_last != NULL) {
110 }
111 else {
112 selectors->list = list;
113 }
114
115 selectors->list_last = list;
116}
117
118
119#ifdef __cplusplus
120} /* extern "C" */
121#endif
122
123#endif /* LEXBOR_CSS_SELECTORS_H */
struct lxb_css_parser lxb_css_parser_t
Definition base.h:41
struct lxb_css_selector lxb_css_selector_t
Definition base.h:39
struct lxb_css_selector_list lxb_css_selector_list_t
Definition base.h:40
struct lxb_css_selectors lxb_css_selectors_t
Definition base.h:38
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_relative(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:337
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_compound(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:321
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_simple(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:329
LXB_API lxb_css_selectors_t * lxb_css_selectors_create(void)
Definition selectors.c:80
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_simple_list(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:157
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_relative_list(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:165
lxb_inline void lxb_css_selectors_append_next(lxb_css_selectors_t *selectors, lxb_css_selector_t *selector)
Definition selectors.h:91
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_complex_list(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:141
lxb_inline void lxb_css_selectors_list_append_next(lxb_css_selectors_t *selectors, lxb_css_selector_list_t *list)
Definition selectors.h:105
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_complex(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:313
LXB_API lxb_status_t lxb_css_selectors_init(lxb_css_selectors_t *selectors)
Definition selectors.c:86
LXB_API void lxb_css_selectors_clean(lxb_css_selectors_t *selectors)
Definition selectors.c:105
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:134
LXB_API lxb_css_selectors_t * lxb_css_selectors_destroy(lxb_css_selectors_t *selectors, bool self_destroy)
Definition selectors.c:120
LXB_API lxb_css_selector_list_t * lxb_css_selectors_parse_compound_list(lxb_css_parser_t *parser, const lxb_char_t *data, size_t length)
Definition selectors.c:149
#define LXB_API
Definition def.h:48
#define NULL
Definition gdcache.h:45
zend_constant * data
void lxb_css_selector_list_append_next(lxb_css_selector_list_t *dist, lxb_css_selector_list_t *src)
Definition selector.c:931
void lxb_css_selector_append_next(lxb_css_selector_t *dist, lxb_css_selector_t *src)
Definition selector.c:918
lxb_css_selector_combinator_t
Definition selector.h:34
lxb_css_selector_t * last
Definition selector.h:167
lxb_css_selector_t * first
Definition selector.h:166
lxb_css_selector_list_t * list_last
Definition selectors.h:25
lxb_css_selector_combinator_t combinator
Definition selectors.h:29
uintptr_t error
Definition selectors.h:32
lxb_css_selector_list_t * list
Definition selectors.h:24
lxb_css_selector_t * parent
Definition selectors.h:27
lxb_css_selector_combinator_t comb_default
Definition selectors.h:30
unsigned int lxb_status_t
Definition types.h:28
#define lxb_inline
Definition types.h:21
unsigned char lxb_char_t
Definition types.h:27