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

Go to the source code of this file.

Macros

#define LEXBOR_STR_RES_MAP_LOWERCASE
 
#define LEXBOR_STR_RES_MAP_UPPERCASE
 
#define lexbor_shs_make_id_m(key, size, table_size)
 
#define lexbor_shs_make_id_lower_m(key, size, table_size)
 
#define lexbor_shs_make_id_upper_m(key, size, table_size)
 

Functions

const lexbor_shs_entry_tlexbor_shs_entry_get_static (const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
 
const lexbor_shs_entry_tlexbor_shs_entry_get_lower_static (const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
 
const lexbor_shs_entry_tlexbor_shs_entry_get_upper_static (const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
 

Macro Definition Documentation

◆ lexbor_shs_make_id_lower_m

#define lexbor_shs_make_id_lower_m ( key,
size,
table_size )
Value:
(((((lexbor_str_res_map_lowercase[key[0]] \
* lexbor_str_res_map_lowercase[key[size - 1]]) \
* lexbor_str_res_map_lowercase[key[0]]) \
+ size) \
% table_size) + 0x01)
new_type size
Definition ffi.c:4365
unsigned char key[REFLECTION_KEY_LEN]

Definition at line 18 of file shs.c.

◆ lexbor_shs_make_id_m

#define lexbor_shs_make_id_m ( key,
size,
table_size )
Value:
(((((key[0] * key[size - 1]) * key[0]) + size) % table_size) + 0x01)

Definition at line 15 of file shs.c.

◆ lexbor_shs_make_id_upper_m

#define lexbor_shs_make_id_upper_m ( key,
size,
table_size )
Value:
(((((lexbor_str_res_map_uppercase[key[0]] \
* lexbor_str_res_map_uppercase[key[size - 1]]) \
* lexbor_str_res_map_uppercase[key[0]]) \
+ size) \
% table_size) + 0x01)

Definition at line 25 of file shs.c.

◆ LEXBOR_STR_RES_MAP_LOWERCASE

#define LEXBOR_STR_RES_MAP_LOWERCASE

Definition at line 10 of file shs.c.

◆ LEXBOR_STR_RES_MAP_UPPERCASE

#define LEXBOR_STR_RES_MAP_UPPERCASE

Definition at line 11 of file shs.c.

Function Documentation

◆ lexbor_shs_entry_get_lower_static()

const lexbor_shs_entry_t * lexbor_shs_entry_get_lower_static ( const lexbor_shs_entry_t * root,
const lxb_char_t * key,
size_t key_len )

Definition at line 63 of file shs.c.

◆ lexbor_shs_entry_get_static()

const lexbor_shs_entry_t * lexbor_shs_entry_get_static ( const lexbor_shs_entry_t * root,
const lxb_char_t * key,
size_t key_len )

Definition at line 34 of file shs.c.

◆ lexbor_shs_entry_get_upper_static()

const lexbor_shs_entry_t * lexbor_shs_entry_get_upper_static ( const lexbor_shs_entry_t * root,
const lxb_char_t * key,
size_t key_len )

Definition at line 92 of file shs.c.