15#define RREGEXP_INITIALIZED FL_USER5
17#define RMATCH_ONIG FL_USER1
18#define RMATCH_OFFSETS_EXTERNAL FL_USER2
20static inline OnigPosition *
21RMATCH_BEG_PTR(
VALUE match)
24 return RMATCH(match)->as.onig.beg;
27 return &
RMATCH(match)->as.embed[0];
31static inline OnigPosition *
32RMATCH_END_PTR(
VALUE match)
35 return RMATCH(match)->as.onig.end;
38 return &
RMATCH(match)->as.embed[
RMATCH(match)->num_regs];
43RMATCH_BEG(
VALUE match,
int i)
45 return RMATCH_BEG_PTR(match)[i];
49RMATCH_END(
VALUE match,
int i)
51 return RMATCH_END_PTR(match)[i];
55RMATCH_NREGS(
VALUE match)
57 return RMATCH(match)->num_regs;
62VALUE rb_reg_compile(
VALUE str,
int options,
const char *sourcefile,
int sourceline);
69void *rb_match_blob_dump(
VALUE match,
VALUE *regexp_out,
VALUE *str_out,
int *num_regs_out,
bool release_source);
70VALUE rb_match_blob_alloc(
VALUE klass,
int num_regs);
71void rb_match_blob_load(
VALUE match,
VALUE regexp,
VALUE str,
int num_regs,
const void *blob);
72void rb_match_blob_free(
void *blob);
77void rb_match_unbusy(
VALUE);
78int rb_match_count(
VALUE match);
79VALUE rb_reg_new_from_values(
long cnt,
const VALUE *elements,
int opt);
82#define ARG_REG_OPTION_MASK \
83 (ONIG_OPTION_IGNORECASE|ONIG_OPTION_MULTILINE|ONIG_OPTION_EXTEND)
84#define ARG_ENCODING_FIXED 16
85#define ARG_ENCODING_NONE 32
#define FL_TEST_RAW
Old name of RB_FL_TEST_RAW.
int len
Length of the buffer.
#define RMATCH(obj)
Convenient casting macro.
uintptr_t VALUE
Type that represents a Ruby object.