php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
open_elements.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_HTML_OPEN_ELEMENTS_H
8#define LEXBOR_HTML_OPEN_ELEMENTS_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "lexbor/core/array.h"
15
16#include "lexbor/html/tree.h"
17
18
19LXB_API void
21 lxb_dom_node_t *node);
22
23void
25 lxb_tag_id_t tag_id,
26 lxb_ns_id_t ns,
27 bool exclude);
28
29void
31
32void
34
35void
37 lxb_dom_node_t *node,
38 bool exclude);
39
40void
42 bool exclude);
43
44bool
46 lxb_dom_node_t *node,
47 size_t *return_pos);
48
49bool
51 lxb_dom_node_t *node,
52 size_t *return_pos);
53
56 lxb_tag_id_t tag_id, lxb_ns_id_t ns,
57 size_t *return_index);
58
61 lxb_tag_id_t tag_id, lxb_ns_id_t ns,
62 size_t *return_index);
63
64
65/*
66 * Inline functions
67 */
73
79
85
91
94 size_t idx)
95{
96 return lexbor_array_insert(tree->open_elements, (idx + 1), node);
97}
98
99
100#ifdef __cplusplus
101} /* extern "C" */
102#endif
103
104#endif /* LEXBOR_HTML_OPEN_ELEMENTS_H */
105
lxb_inline void * lexbor_array_get(lexbor_array_t *array, size_t idx)
Definition array.h:62
#define LXB_API
Definition def.h:48
struct lxb_dom_node lxb_dom_node_t
Definition interface.h:38
lxb_status_t lexbor_array_insert(lexbor_array_t *array, size_t idx, void *value)
Definition array.c:113
lxb_status_t lexbor_array_push(lexbor_array_t *array, void *value)
Definition array.c:87
void * lexbor_array_pop(lexbor_array_t *array)
Definition array.c:102
struct lxb_html_tree lxb_html_tree_t
Definition base.h:28
uintptr_t lxb_ns_id_t
Definition const.h:20
void lxb_html_tree_open_elements_pop_until_h123456(lxb_html_tree_t *tree)
LXB_API void lxb_html_tree_open_elements_remove_by_node(lxb_html_tree_t *tree, lxb_dom_node_t *node)
lxb_dom_node_t * lxb_html_tree_open_elements_find(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, size_t *return_index)
lxb_dom_node_t * lxb_html_tree_open_elements_find_reverse(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, size_t *return_index)
lxb_inline lxb_status_t lxb_html_tree_open_elements_push(lxb_html_tree_t *tree, lxb_dom_node_t *node)
bool lxb_html_tree_open_elements_find_by_node_reverse(lxb_html_tree_t *tree, lxb_dom_node_t *node, size_t *return_pos)
lxb_inline lxb_status_t lxb_html_tree_open_elements_insert_after(lxb_html_tree_t *tree, lxb_dom_node_t *node, size_t idx)
void lxb_html_tree_open_elements_pop_until_node(lxb_html_tree_t *tree, lxb_dom_node_t *node, bool exclude)
lxb_inline lxb_dom_node_t * lxb_html_tree_open_elements_first(lxb_html_tree_t *tree)
void lxb_html_tree_open_elements_pop_until_tag_id(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, bool exclude)
void lxb_html_tree_open_elements_pop_until_td_th(lxb_html_tree_t *tree)
lxb_inline lxb_dom_node_t * lxb_html_tree_open_elements_get(lxb_html_tree_t *tree, size_t idx)
void lxb_html_tree_open_elements_pop_until(lxb_html_tree_t *tree, size_t idx, bool exclude)
lxb_inline lxb_dom_node_t * lxb_html_tree_open_elements_pop(lxb_html_tree_t *tree)
bool lxb_html_tree_open_elements_find_by_node(lxb_html_tree_t *tree, lxb_dom_node_t *node, size_t *return_pos)
lexbor_array_t * open_elements
Definition tree.h:47
uintptr_t lxb_tag_id_t
Definition const.h:21
unsigned int lxb_status_t
Definition types.h:28
#define lxb_inline
Definition types.h:21