Ruby  3.1.4p223 (2023-03-30 revision HEAD)
ctype.h
Go to the documentation of this file.
1 #ifndef RUBY_INTERNAL_ENCODING_CTYPE_H /*-*-C++-*-vi:se ft=cpp:*/
2 #define RUBY_INTERNAL_ENCODING_CTYPE_H
24 #include "ruby/onigmo.h"
28 #include "ruby/internal/value.h"
29 
31 
32 
42 static inline bool
43 rb_enc_is_newline(const char *p, const char *e, rb_encoding *enc)
44 {
45  OnigUChar *up = RBIMPL_CAST((OnigUChar *)p);
46  OnigUChar *ue = RBIMPL_CAST((OnigUChar *)e);
47 
48  return ONIGENC_IS_MBC_NEWLINE(enc, up, ue);
49 }
50 
62 static inline bool
63 rb_enc_isctype(OnigCodePoint c, OnigCtype t, rb_encoding *enc)
64 {
65  return ONIGENC_IS_CODE_CTYPE(enc, c, t);
66 }
67 
81 static inline bool
82 rb_enc_isascii(OnigCodePoint c, rb_encoding *enc)
83 {
84  return ONIGENC_IS_CODE_ASCII(c);
85 }
86 
95 static inline bool
96 rb_enc_isalpha(OnigCodePoint c, rb_encoding *enc)
97 {
98  return ONIGENC_IS_CODE_ALPHA(enc, c);
99 }
100 
109 static inline bool
110 rb_enc_islower(OnigCodePoint c, rb_encoding *enc)
111 {
112  return ONIGENC_IS_CODE_LOWER(enc, c);
113 }
114 
123 static inline bool
124 rb_enc_isupper(OnigCodePoint c, rb_encoding *enc)
125 {
126  return ONIGENC_IS_CODE_UPPER(enc, c);
127 }
128 
137 static inline bool
138 rb_enc_ispunct(OnigCodePoint c, rb_encoding *enc)
139 {
140  return ONIGENC_IS_CODE_PUNCT(enc, c);
141 }
142 
151 static inline bool
152 rb_enc_isalnum(OnigCodePoint c, rb_encoding *enc)
153 {
154  return ONIGENC_IS_CODE_ALNUM(enc, c);
155 }
156 
165 static inline bool
166 rb_enc_isprint(OnigCodePoint c, rb_encoding *enc)
167 {
168  return ONIGENC_IS_CODE_PRINT(enc, c);
169 }
170 
179 static inline bool
180 rb_enc_isspace(OnigCodePoint c, rb_encoding *enc)
181 {
182  return ONIGENC_IS_CODE_SPACE(enc, c);
183 }
184 
193 static inline bool
194 rb_enc_isdigit(OnigCodePoint c, rb_encoding *enc)
195 {
196  return ONIGENC_IS_CODE_DIGIT(enc, c);
197 }
198 
211 int rb_enc_toupper(int c, rb_encoding *enc);
212 
225 int rb_enc_tolower(int c, rb_encoding *enc);
226 
228 
230 #define rb_enc_is_newline rb_enc_is_newline
231 #define rb_enc_isalnum rb_enc_isalnum
232 #define rb_enc_isalpha rb_enc_isalpha
233 #define rb_enc_isascii rb_enc_isascii
234 #define rb_enc_isctype rb_enc_isctype
235 #define rb_enc_isdigit rb_enc_isdigit
236 #define rb_enc_islower rb_enc_islower
237 #define rb_enc_isprint rb_enc_isprint
238 #define rb_enc_ispunct rb_enc_ispunct
239 #define rb_enc_isspace rb_enc_isspace
240 #define rb_enc_isupper rb_enc_isupper
243 #endif /* RUBY_INTERNAL_ENCODING_CTYPE_H */
Defines RBIMPL_ATTR_CONST.
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:106
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:97
static bool rb_enc_ispunct(OnigCodePoint c, rb_encoding *enc)
Identical to rb_ispunct(), except it additionally takes an encoding.
Definition: ctype.h:138
static bool rb_enc_isalpha(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isalpha(), except it additionally takes an encoding.
Definition: ctype.h:96
static bool rb_enc_isupper(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isupper(), except it additionally takes an encoding.
Definition: ctype.h:124
static bool rb_enc_isascii(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isascii(), except it additionally takes an encoding.
Definition: ctype.h:82
static bool rb_enc_is_newline(const char *p, const char *e, rb_encoding *enc)
Queries if the passed pointer points to a newline character.
Definition: ctype.h:43
int rb_enc_tolower(int c, rb_encoding *enc)
Identical to rb_tolower(), except it additionally takes an encoding.
Definition: encoding.c:1300
static bool rb_enc_isprint(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isprint(), except it additionally takes an encoding.
Definition: ctype.h:166
static bool rb_enc_isctype(OnigCodePoint c, OnigCtype t, rb_encoding *enc)
Queries if the passed code point is of passed character type in the passed encoding.
Definition: ctype.h:63
static bool rb_enc_islower(OnigCodePoint c, rb_encoding *enc)
Identical to rb_islower(), except it additionally takes an encoding.
Definition: ctype.h:110
int rb_enc_toupper(int c, rb_encoding *enc)
Identical to rb_toupper(), except it additionally takes an encoding.
Definition: encoding.c:1294
static bool rb_enc_isspace(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isspace(), except it additionally takes an encoding.
Definition: ctype.h:180
static bool rb_enc_isalnum(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isalnum(), except it additionally takes an encoding.
Definition: ctype.h:152
static bool rb_enc_isdigit(OnigCodePoint c, rb_encoding *enc)
Identical to rb_isdigit(), except it additionally takes an encoding.
Definition: ctype.h:194
Defines rb_encoding.
RBIMPL_ATTR_CONST() int rb_io_oflags_fmode(int oflags)
Converts an oflags (that rb_io_modestr_oflags() returns) to a fmode (that rb_io_mode_flags() returns)...
Defines VALUE and ID.