src
case.h
Go to the documentation of this file.
1 #ifndef _RE2C_IR_REGEXP_ENCODING_CASE_
2 #define _RE2C_IR_REGEXP_ENCODING_CASE_
3 
4 #include "src/util/c99_stdint.h"
5 
6 namespace re2c {
7 
8 // TODO: support non-ASCII encodings
9 bool is_alpha (uint32_t c);
10 uint32_t to_lower_unsafe (uint32_t c);
11 uint32_t to_upper_unsafe (uint32_t c);
12 
13 inline bool is_alpha (uint32_t c)
14 {
15  return (c >= 'a' && c <= 'z')
16  || (c >= 'A' && c <= 'Z');
17 }
18 
19 inline uint32_t to_lower_unsafe (uint32_t c)
20 {
21  return c | 0x20u;
22 }
23 
24 inline uint32_t to_upper_unsafe (uint32_t c)
25 {
26  return c & ~0x20u;
27 }
28 
29 }
30 
31 #endif // _RE2C_IR_REGEXP_ENCODING_CASE_
uint32_t to_upper_unsafe(uint32_t c)
Definition: case.h:24
bool is_alpha(uint32_t c)
Definition: case.h:13
uint32_t to_lower_unsafe(uint32_t c)
Definition: case.h:19
Definition: bitmap.cc:10