php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
selector.h File Reference

Go to the source code of this file.

Data Structures

struct  lxb_css_selector_attribute_t
 
struct  lxb_css_selector_pseudo_t
 
struct  lxb_css_selector_anb_of_t
 
struct  lxb_css_selector
 
union  lxb_css_selector::lxb_css_selector_u
 
struct  lxb_css_selector_list
 

Macros

#define LXB_CSS_SELECTOR_SPECIFICITY_MASK_N(sp, n)
 
#define LXB_CSS_SELECTOR_SPECIFICITY_MASK    ((((uint32_t) 1 << (32 - 9)) - 1) << (9))
 
#define lxb_css_selector_sp_i(sp)
 
#define lxb_css_selector_sp_s(sp)
 
#define lxb_css_selector_sp_a(sp)
 
#define lxb_css_selector_sp_b(sp)
 
#define lxb_css_selector_sp_c(sp)
 
#define lxb_css_selector_sp_set_i(sp, num)
 
#define lxb_css_selector_sp_set_s(sp, num)
 
#define lxb_css_selector_sp_set_a(sp, num)
 
#define lxb_css_selector_sp_set_b(sp, num)
 
#define lxb_css_selector_sp_set_c(sp, num)
 
#define lxb_css_selector_sp_add_s(sp, num)
 
#define lxb_css_selector_sp_add_a(sp, num)
 
#define lxb_css_selector_sp_add_b(sp, num)
 
#define lxb_css_selector_sp_add_c(sp, num)
 
#define lxb_css_selector_sp_up_i(num)
 
#define lxb_css_selector_sp_up_s(num)
 
#define LXB_CSS_SELECTOR_SP_S_MAX   ((1 << 28) - 1)
 
#define LXB_CSS_SELECTOR_SP_A_MAX   ((1 << 27) - 1)
 
#define LXB_CSS_SELECTOR_SP_B_MAX   ((1 << 18) - 1)
 
#define LXB_CSS_SELECTOR_SP_C_MAX   ((1 << 9) - 1)
 

Typedefs

typedef uint32_t lxb_css_selector_specificity_t
 

Enumerations

enum  lxb_css_selector_type_t {
  LXB_CSS_SELECTOR_TYPE__UNDEF = 0x00 , LXB_CSS_SELECTOR_TYPE_ANY , LXB_CSS_SELECTOR_TYPE_ELEMENT , LXB_CSS_SELECTOR_TYPE_ID ,
  LXB_CSS_SELECTOR_TYPE_CLASS , LXB_CSS_SELECTOR_TYPE_ATTRIBUTE , LXB_CSS_SELECTOR_TYPE_PSEUDO_CLASS , LXB_CSS_SELECTOR_TYPE_PSEUDO_CLASS_FUNCTION ,
  LXB_CSS_SELECTOR_TYPE_PSEUDO_ELEMENT , LXB_CSS_SELECTOR_TYPE_PSEUDO_ELEMENT_FUNCTION , LXB_CSS_SELECTOR_TYPE__LAST_ENTRY
}
 
enum  lxb_css_selector_combinator_t {
  LXB_CSS_SELECTOR_COMBINATOR_DESCENDANT = 0x00 , LXB_CSS_SELECTOR_COMBINATOR_CLOSE , LXB_CSS_SELECTOR_COMBINATOR_CHILD , LXB_CSS_SELECTOR_COMBINATOR_SIBLING ,
  LXB_CSS_SELECTOR_COMBINATOR_FOLLOWING , LXB_CSS_SELECTOR_COMBINATOR_CELL , LXB_CSS_SELECTOR_COMBINATOR__LAST_ENTRY
}
 
enum  lxb_css_selector_match_t {
  LXB_CSS_SELECTOR_MATCH_EQUAL = 0x00 , LXB_CSS_SELECTOR_MATCH_INCLUDE , LXB_CSS_SELECTOR_MATCH_DASH , LXB_CSS_SELECTOR_MATCH_PREFIX ,
  LXB_CSS_SELECTOR_MATCH_SUFFIX , LXB_CSS_SELECTOR_MATCH_SUBSTRING , LXB_CSS_SELECTOR_MATCH__LAST_ENTRY
}
 
enum  lxb_css_selector_modifier_t { LXB_CSS_SELECTOR_MODIFIER_UNSET = 0x00 , LXB_CSS_SELECTOR_MODIFIER_I , LXB_CSS_SELECTOR_MODIFIER_S , LXB_CSS_SELECTOR_MODIFIER__LAST_ENTRY }
 

Functions

LXB_API lxb_css_selector_tlxb_css_selector_create (lxb_css_selector_list_t *list)
 
LXB_API void lxb_css_selector_destroy (lxb_css_selector_t *selector)
 
LXB_API void lxb_css_selector_destroy_chain (lxb_css_selector_t *selector)
 
LXB_API void lxb_css_selector_remove (lxb_css_selector_t *selector)
 
LXB_API lxb_css_selector_list_tlxb_css_selector_list_create (lxb_css_memory_t *mem)
 
LXB_API void lxb_css_selector_list_remove (lxb_css_selector_list_t *list)
 
LXB_API void lxb_css_selector_list_selectors_remove (lxb_css_selectors_t *selectors, lxb_css_selector_list_t *list)
 
LXB_API void lxb_css_selector_list_destroy (lxb_css_selector_list_t *list)
 
LXB_API void lxb_css_selector_list_destroy_chain (lxb_css_selector_list_t *list)
 
LXB_API void lxb_css_selector_list_destroy_memory (lxb_css_selector_list_t *list)
 
LXB_API lxb_status_t lxb_css_selector_serialize (lxb_css_selector_t *selector, lexbor_serialize_cb_f cb, void *ctx)
 
LXB_API lxb_status_t lxb_css_selector_serialize_chain (lxb_css_selector_t *selector, lexbor_serialize_cb_f cb, void *ctx)
 
LXB_API lxb_char_tlxb_css_selector_serialize_chain_char (lxb_css_selector_t *selector, size_t *out_length)
 
LXB_API lxb_status_t lxb_css_selector_serialize_list (lxb_css_selector_list_t *list, lexbor_serialize_cb_f cb, void *ctx)
 
LXB_API lxb_status_t lxb_css_selector_serialize_list_chain (lxb_css_selector_list_t *list, lexbor_serialize_cb_f cb, void *ctx)
 
LXB_API lxb_char_tlxb_css_selector_serialize_list_chain_char (lxb_css_selector_list_t *list, size_t *out_length)
 
LXB_API lxb_status_t lxb_css_selector_serialize_anb_of (lxb_css_selector_anb_of_t *anbof, lexbor_serialize_cb_f cb, void *ctx)
 
LXB_API lxb_char_tlxb_css_selector_combinator (lxb_css_selector_t *selector, size_t *out_length)
 
LXB_API void lxb_css_selector_list_append (lxb_css_selector_list_t *list, lxb_css_selector_t *selector)
 
LXB_API void lxb_css_selector_list_append_next (lxb_css_selector_list_t *dist, lxb_css_selector_list_t *src)
 
LXB_API void lxb_css_selector_append_next (lxb_css_selector_t *dist, lxb_css_selector_t *src)
 

Macro Definition Documentation

◆ lxb_css_selector_sp_a

#define lxb_css_selector_sp_a ( sp)
Value:
#define LXB_CSS_SELECTOR_SPECIFICITY_MASK
Definition selector.h:112

Definition at line 120 of file selector.h.

◆ LXB_CSS_SELECTOR_SP_A_MAX

#define LXB_CSS_SELECTOR_SP_A_MAX   ((1 << 27) - 1)

Definition at line 160 of file selector.h.

◆ lxb_css_selector_sp_add_a

#define lxb_css_selector_sp_add_a ( sp,
num )
Value:
#define lxb_css_selector_sp_set_a(sp, num)
Definition selector.h:135
#define lxb_css_selector_sp_a(sp)
Definition selector.h:120

Definition at line 147 of file selector.h.

◆ lxb_css_selector_sp_add_b

#define lxb_css_selector_sp_add_b ( sp,
num )
Value:
#define lxb_css_selector_sp_set_b(sp, num)
Definition selector.h:138
#define lxb_css_selector_sp_b(sp)
Definition selector.h:123

Definition at line 150 of file selector.h.

◆ lxb_css_selector_sp_add_c

#define lxb_css_selector_sp_add_c ( sp,
num )
Value:
#define lxb_css_selector_sp_c(sp)
Definition selector.h:126
#define lxb_css_selector_sp_set_c(sp, num)
Definition selector.h:141

Definition at line 153 of file selector.h.

◆ lxb_css_selector_sp_add_s

#define lxb_css_selector_sp_add_s ( sp,
num )
Value:
#define lxb_css_selector_sp_set_s(sp, num)
Definition selector.h:132
#define lxb_css_selector_sp_s(sp)
Definition selector.h:117

Definition at line 144 of file selector.h.

◆ lxb_css_selector_sp_b

#define lxb_css_selector_sp_b ( sp)
Value:

Definition at line 123 of file selector.h.

◆ LXB_CSS_SELECTOR_SP_B_MAX

#define LXB_CSS_SELECTOR_SP_B_MAX   ((1 << 18) - 1)

Definition at line 161 of file selector.h.

◆ lxb_css_selector_sp_c

#define lxb_css_selector_sp_c ( sp)
Value:

Definition at line 126 of file selector.h.

◆ LXB_CSS_SELECTOR_SP_C_MAX

#define LXB_CSS_SELECTOR_SP_C_MAX   ((1 << 9) - 1)

Definition at line 162 of file selector.h.

◆ lxb_css_selector_sp_i

#define lxb_css_selector_sp_i ( sp)
Value:
((sp) >> 28)

Definition at line 115 of file selector.h.

◆ lxb_css_selector_sp_s

#define lxb_css_selector_sp_s ( sp)
Value:
(((sp) >> 27) & ~((((uint32_t) 1 << 31) - 1) << (1)))

Definition at line 117 of file selector.h.

◆ LXB_CSS_SELECTOR_SP_S_MAX

#define LXB_CSS_SELECTOR_SP_S_MAX   ((1 << 28) - 1)

Definition at line 159 of file selector.h.

◆ lxb_css_selector_sp_set_a

#define lxb_css_selector_sp_set_a ( sp,
num )
Value:
sp = (LXB_CSS_SELECTOR_SPECIFICITY_MASK_N((sp), 18) | ((num) << 18))
#define LXB_CSS_SELECTOR_SPECIFICITY_MASK_N(sp, n)
Definition selector.h:109

Definition at line 135 of file selector.h.

◆ lxb_css_selector_sp_set_b

#define lxb_css_selector_sp_set_b ( sp,
num )
Value:
sp = (LXB_CSS_SELECTOR_SPECIFICITY_MASK_N((sp), 9) | ((num) << 9))

Definition at line 138 of file selector.h.

◆ lxb_css_selector_sp_set_c

#define lxb_css_selector_sp_set_c ( sp,
num )
Value:
sp = (LXB_CSS_SELECTOR_SPECIFICITY_MASK_N((sp), 0) | (num))

Definition at line 141 of file selector.h.

◆ lxb_css_selector_sp_set_i

#define lxb_css_selector_sp_set_i ( sp,
num )
Value:
sp = (LXB_CSS_SELECTOR_SPECIFICITY_MASK_N((sp), 28) | ((num) << 28))

Definition at line 129 of file selector.h.

◆ lxb_css_selector_sp_set_s

#define lxb_css_selector_sp_set_s ( sp,
num )
Value:
sp = (LXB_CSS_SELECTOR_SPECIFICITY_MASK_N((sp), 27) | ((num) << 27))

Definition at line 132 of file selector.h.

◆ lxb_css_selector_sp_up_i

#define lxb_css_selector_sp_up_i ( num)
Value:
(num | (1 << 28))

Definition at line 156 of file selector.h.

◆ lxb_css_selector_sp_up_s

#define lxb_css_selector_sp_up_s ( num)
Value:
(num | (1 << 27))

Definition at line 157 of file selector.h.

◆ LXB_CSS_SELECTOR_SPECIFICITY_MASK

#define LXB_CSS_SELECTOR_SPECIFICITY_MASK    ((((uint32_t) 1 << (32 - 9)) - 1) << (9))

Definition at line 112 of file selector.h.

◆ LXB_CSS_SELECTOR_SPECIFICITY_MASK_N

#define LXB_CSS_SELECTOR_SPECIFICITY_MASK_N ( sp,
n )
Value:
((sp) & ~((((uint32_t) 1 << 9) - 1) << (n)))
zend_long n
Definition ffi.c:4979

Definition at line 109 of file selector.h.

Typedef Documentation

◆ lxb_css_selector_specificity_t

Definition at line 107 of file selector.h.

Enumeration Type Documentation

◆ lxb_css_selector_combinator_t

Enumerator
LXB_CSS_SELECTOR_COMBINATOR_DESCENDANT 
LXB_CSS_SELECTOR_COMBINATOR_CLOSE 
LXB_CSS_SELECTOR_COMBINATOR_CHILD 
LXB_CSS_SELECTOR_COMBINATOR_SIBLING 
LXB_CSS_SELECTOR_COMBINATOR_FOLLOWING 
LXB_CSS_SELECTOR_COMBINATOR_CELL 
LXB_CSS_SELECTOR_COMBINATOR__LAST_ENTRY 

Definition at line 34 of file selector.h.

◆ lxb_css_selector_match_t

Enumerator
LXB_CSS_SELECTOR_MATCH_EQUAL 
LXB_CSS_SELECTOR_MATCH_INCLUDE 
LXB_CSS_SELECTOR_MATCH_DASH 
LXB_CSS_SELECTOR_MATCH_PREFIX 
LXB_CSS_SELECTOR_MATCH_SUFFIX 
LXB_CSS_SELECTOR_MATCH_SUBSTRING 
LXB_CSS_SELECTOR_MATCH__LAST_ENTRY 

Definition at line 45 of file selector.h.

◆ lxb_css_selector_modifier_t

Enumerator
LXB_CSS_SELECTOR_MODIFIER_UNSET 
LXB_CSS_SELECTOR_MODIFIER_I 
LXB_CSS_SELECTOR_MODIFIER_S 
LXB_CSS_SELECTOR_MODIFIER__LAST_ENTRY 

Definition at line 56 of file selector.h.

◆ lxb_css_selector_type_t

Enumerator
LXB_CSS_SELECTOR_TYPE__UNDEF 
LXB_CSS_SELECTOR_TYPE_ANY 
LXB_CSS_SELECTOR_TYPE_ELEMENT 
LXB_CSS_SELECTOR_TYPE_ID 
LXB_CSS_SELECTOR_TYPE_CLASS 
LXB_CSS_SELECTOR_TYPE_ATTRIBUTE 
LXB_CSS_SELECTOR_TYPE_PSEUDO_CLASS 
LXB_CSS_SELECTOR_TYPE_PSEUDO_CLASS_FUNCTION 
LXB_CSS_SELECTOR_TYPE_PSEUDO_ELEMENT 
LXB_CSS_SELECTOR_TYPE_PSEUDO_ELEMENT_FUNCTION 
LXB_CSS_SELECTOR_TYPE__LAST_ENTRY 

Definition at line 19 of file selector.h.

Function Documentation

◆ lxb_css_selector_append_next()

LXB_API void lxb_css_selector_append_next ( lxb_css_selector_t * dist,
lxb_css_selector_t * src )

Definition at line 918 of file selector.c.

◆ lxb_css_selector_combinator()

LXB_API lxb_char_t * lxb_css_selector_combinator ( lxb_css_selector_t * selector,
size_t * out_length )

Definition at line 868 of file selector.c.

◆ lxb_css_selector_create()

LXB_API lxb_css_selector_t * lxb_css_selector_create ( lxb_css_selector_list_t * list)

Definition at line 111 of file selector.c.

◆ lxb_css_selector_destroy()

LXB_API void lxb_css_selector_destroy ( lxb_css_selector_t * selector)

Definition at line 124 of file selector.c.

◆ lxb_css_selector_destroy_chain()

LXB_API void lxb_css_selector_destroy_chain ( lxb_css_selector_t * selector)

Definition at line 137 of file selector.c.

◆ lxb_css_selector_list_append()

LXB_API void lxb_css_selector_list_append ( lxb_css_selector_list_t * list,
lxb_css_selector_t * selector )

Definition at line 902 of file selector.c.

◆ lxb_css_selector_list_append_next()

LXB_API void lxb_css_selector_list_append_next ( lxb_css_selector_list_t * dist,
lxb_css_selector_list_t * src )

Definition at line 931 of file selector.c.

◆ lxb_css_selector_list_create()

LXB_API lxb_css_selector_list_t * lxb_css_selector_list_create ( lxb_css_memory_t * mem)

Definition at line 169 of file selector.c.

◆ lxb_css_selector_list_destroy()

LXB_API void lxb_css_selector_list_destroy ( lxb_css_selector_list_t * list)

Definition at line 211 of file selector.c.

◆ lxb_css_selector_list_destroy_chain()

LXB_API void lxb_css_selector_list_destroy_chain ( lxb_css_selector_list_t * list)

Definition at line 220 of file selector.c.

◆ lxb_css_selector_list_destroy_memory()

LXB_API void lxb_css_selector_list_destroy_memory ( lxb_css_selector_list_t * list)

Definition at line 232 of file selector.c.

◆ lxb_css_selector_list_remove()

LXB_API void lxb_css_selector_list_remove ( lxb_css_selector_list_t * list)

Definition at line 184 of file selector.c.

◆ lxb_css_selector_list_selectors_remove()

LXB_API void lxb_css_selector_list_selectors_remove ( lxb_css_selectors_t * selectors,
lxb_css_selector_list_t * list )

Definition at line 196 of file selector.c.

◆ lxb_css_selector_remove()

LXB_API void lxb_css_selector_remove ( lxb_css_selector_t * selector)

Definition at line 149 of file selector.c.

◆ lxb_css_selector_serialize()

LXB_API lxb_status_t lxb_css_selector_serialize ( lxb_css_selector_t * selector,
lexbor_serialize_cb_f cb,
void * ctx )

Definition at line 343 of file selector.c.

◆ lxb_css_selector_serialize_anb_of()

LXB_API lxb_status_t lxb_css_selector_serialize_anb_of ( lxb_css_selector_anb_of_t * anbof,
lexbor_serialize_cb_f cb,
void * ctx )

Definition at line 846 of file selector.c.

◆ lxb_css_selector_serialize_chain()

LXB_API lxb_status_t lxb_css_selector_serialize_chain ( lxb_css_selector_t * selector,
lexbor_serialize_cb_f cb,
void * ctx )

Definition at line 350 of file selector.c.

◆ lxb_css_selector_serialize_chain_char()

LXB_API lxb_char_t * lxb_css_selector_serialize_chain_char ( lxb_css_selector_t * selector,
size_t * out_length )

Definition at line 405 of file selector.c.

◆ lxb_css_selector_serialize_list()

LXB_API lxb_status_t lxb_css_selector_serialize_list ( lxb_css_selector_list_t * list,
lexbor_serialize_cb_f cb,
void * ctx )

Definition at line 451 of file selector.c.

◆ lxb_css_selector_serialize_list_chain()

LXB_API lxb_status_t lxb_css_selector_serialize_list_chain ( lxb_css_selector_list_t * list,
lexbor_serialize_cb_f cb,
void * ctx )

Definition at line 508 of file selector.c.

◆ lxb_css_selector_serialize_list_chain_char()

LXB_API lxb_char_t * lxb_css_selector_serialize_list_chain_char ( lxb_css_selector_list_t * list,
size_t * out_length )

Definition at line 539 of file selector.c.