xref: /php-src/ext/dom/lexbor/lexbor/core/utils.h (revision bffab33a)
1 /*
2  * Copyright (C) 2018 Alexander Borisov
3  *
4  * Author: Alexander Borisov <borisov@lexbor.com>
5  */
6 
7 #ifndef LEXBOR_UTILS_H
8 #define LEXBOR_UTILS_H
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include "lexbor/core/base.h"
15 
16 
17 #define lexbor_utils_whitespace(onechar, action, logic)                        \
18     (onechar action ' '  logic                                                 \
19      onechar action '\t' logic                                                 \
20      onechar action '\n' logic                                                 \
21      onechar action '\f' logic                                                 \
22      onechar action '\r')
23 
24 
25 LXB_API size_t
26 lexbor_utils_power(size_t t, size_t k);
27 
28 LXB_API size_t
29 lexbor_utils_hash_hash(const lxb_char_t *key, size_t key_size);
30 
31 
32 #ifdef __cplusplus
33 } /* extern "C" */
34 #endif
35 
36 #endif /* LEXBOR_UTILS_H */
37