1 #ifndef RUBY_INTERNAL_ENCODING_CODERANGE_H
2 #define RUBY_INTERNAL_ENCODING_CODERANGE_H
65 rb_enc_coderange_clean_p(
int cr)
82 return rb_enc_coderange_clean_p(cr);
178 #define ENC_CODERANGE_MASK RUBY_ENC_CODERANGE_MASK
179 #define ENC_CODERANGE_UNKNOWN RUBY_ENC_CODERANGE_UNKNOWN
180 #define ENC_CODERANGE_7BIT RUBY_ENC_CODERANGE_7BIT
181 #define ENC_CODERANGE_VALID RUBY_ENC_CODERANGE_VALID
182 #define ENC_CODERANGE_BROKEN RUBY_ENC_CODERANGE_BROKEN
183 #define ENC_CODERANGE_CLEAN_P(cr) RB_ENC_CODERANGE_CLEAN_P(cr)
184 #define ENC_CODERANGE(obj) RB_ENC_CODERANGE(obj)
185 #define ENC_CODERANGE_ASCIIONLY(obj) RB_ENC_CODERANGE_ASCIIONLY(obj)
186 #define ENC_CODERANGE_SET(obj,cr) RB_ENC_CODERANGE_SET(obj,cr)
187 #define ENC_CODERANGE_CLEAR(obj) RB_ENC_CODERANGE_CLEAR(obj)
188 #define ENC_CODERANGE_AND(a, b) RB_ENC_CODERANGE_AND(a, b)
189 #define ENCODING_CODERANGE_SET(obj, encindex, cr) RB_ENCODING_CODERANGE_SET(obj, encindex, cr)
192 #define RB_ENC_CODERANGE RB_ENC_CODERANGE
193 #define RB_ENC_CODERANGE_AND RB_ENC_CODERANGE_AND
194 #define RB_ENC_CODERANGE_ASCIIONLY RB_ENC_CODERANGE_ASCIIONLY
195 #define RB_ENC_CODERANGE_CLEAN_P RB_ENC_CODERANGE_CLEAN_P
196 #define RB_ENC_CODERANGE_CLEAR RB_ENC_CODERANGE_CLEAR
197 #define RB_ENC_CODERANGE_SET RB_ENC_CODERANGE_SET
static void RB_ENC_CODERANGE_CLEAR(VALUE obj)
Destructively clears the passed object's (inline) code range.
ruby_coderange_type
What rb_enc_str_coderange() returns.
@ RUBY_ENC_CODERANGE_MASK
Where the coderange resides.
@ RUBY_ENC_CODERANGE_VALID
The object's encoding and contents are consistent each other.
@ RUBY_ENC_CODERANGE_7BIT
The object holds 0 to 127 inclusive and nothing else.
@ RUBY_ENC_CODERANGE_UNKNOWN
The object's coderange is unclear yet.
@ RUBY_ENC_CODERANGE_BROKEN
The object holds invalid/malformed/broken character(s).
static void RB_ENC_CODERANGE_SET(VALUE obj, enum ruby_coderange_type cr)
Destructively modifies the passed object so that its (inline) code range is the passed one.
static enum ruby_coderange_type RB_ENC_CODERANGE(VALUE obj)
Queries the (inline) code range of the passed object.
static enum ruby_coderange_type RB_ENC_CODERANGE_AND(enum ruby_coderange_type a, enum ruby_coderange_type b)
"Mix" two code ranges into one.
static bool RB_ENC_CODERANGE_CLEAN_P(enum ruby_coderange_type cr)
Queries if a code range is "clean".
static bool RB_ENC_CODERANGE_ASCIIONLY(VALUE obj)
Queries the (inline) code range of the passed object is RUBY_ENC_CODERANGE_7BIT.
Defines RBIMPL_ATTR_CONST.
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Defines enum ruby_fl_type.
static VALUE RB_FL_TEST_RAW(VALUE obj, VALUE flags)
This is an implementation detail of RB_FL_TEST().
static void RB_FL_SET_RAW(VALUE obj, VALUE flags)
This is an implementation detail of RB_FL_SET().
static void RB_FL_UNSET_RAW(VALUE obj, VALUE flags)
This is an implementation detail of RB_FL_UNSET().
@ RUBY_FL_USER9
User-defined flag.
@ RUBY_FL_USER8
User-defined flag.
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)...
#define inline
Old Visual Studio versions do not support the inline keyword, so we need to define it to be __inline.
Defines RBIMPL_ATTR_PURE.
#define RBIMPL_ATTR_PURE_UNLESS_DEBUG()
Enables RBIMPL_ATTR_PURE if and only if.
uintptr_t VALUE
Type that represents a Ruby object.