Ruby 2.0.0p247(2013-06-27revision41674)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Functions | Variables
strscan.c File Reference
`#include "ruby/ruby.h"`
`#include "ruby/re.h"`
`#include "ruby/encoding.h"`
`#include "regint.h"`
Include dependency graph for strscan.c:

Go to the source code of this file.

## Data Structures
struct | strscanner

## Macros
#define | STRSCAN_VERSION "0.7.0"
#define | FLAG_MATCHED (1 << 0)
#define | MATCHED_P(s) ((s)->flags & FLAG_MATCHED)
#define | MATCHED(s) (s)->flags |= FLAG_MATCHED
#define | CLEAR_MATCH_STATUS(s) (s)->flags &= ~FLAG_MATCHED
#define | S_PBEG(s) (RSTRING_PTR((s)->str))
#define | S_LEN(s) (RSTRING_LEN((s)->str))
#define | S_PEND(s) (S_PBEG(s) + S_LEN(s))
#define | CURPTR(s) (S_PBEG(s) + (s)->curr)
#define | S_RESTLEN(s) (S_LEN(s) - (s)->curr)
#define | EOS_P(s) ((s)->curr >= RSTRING_LEN(p->str))
#define | GET_SCANNER(obj, var)
#define | INSPECT_LENGTH 5
#define | BUFSIZE 256

## Functions
static VALUE infect | _ ((VALUE str, struct strscanner *p))
static VALUE extract_range | _ ((struct strscanner *p, long beg_i, long end_i))
static VALUE extract_beg_len | _ ((struct strscanner *p, long beg_i, long len))
static struct strscanner *check_strscan | _ ((VALUE obj))
static void strscan_mark | _ ((void *p))
static size_t strscan_memsize | _ ((const void *p))
static VALUE strscan_s_allocate | _ ((VALUE klass))
static VALUE strscan_initialize | _ ((int argc, VALUE *argv, VALUE self))
static VALUE strscan_init_copy | _ ((VALUE vself, VALUE vorig))
static VALUE strscan_s_mustc | _ ((VALUE self))
static VALUE strscan_set_string | _ ((VALUE self, VALUE str))
static VALUE strscan_set_pos | _ ((VALUE self, VALUE pos))
static VALUE strscan_do_scan | _ ((VALUE self, VALUE regex, int succptr, int getstr, int headonly))
static VALUE strscan_scan | _ ((VALUE self, VALUE re))
static VALUE strscan_scan_full | _ ((VALUE self, VALUE re, VALUE succp, VALUE getp))
static void adjust_registers_to_matched | _ ((struct strscanner *p))
static VALUE strscan_peek | _ ((VALUE self, VALUE len))
static VALUE strscan_aref | _ ((VALUE self, VALUE idx))
static VALUE | infect (VALUE str, struct strscanner *p)
static VALUE | str_new (struct strscanner *p, const char *ptr, long len)
static VALUE | extract_range (struct strscanner *p, long beg_i, long end_i)
static VALUE | extract_beg_len (struct strscanner *p, long beg_i, long len)
static void | strscan_mark (void *ptr)
static void | strscan_free (void *ptr)
static size_t | strscan_memsize (const void *ptr)
static VALUE | strscan_s_allocate (VALUE klass)
static VALUE | strscan_initialize (int argc, VALUE *argv, VALUE self)
static struct strscanner * | check_strscan (VALUE obj)
static VALUE | strscan_init_copy (VALUE vself, VALUE vorig)
static VALUE | strscan_s_mustc (VALUE self)
static VALUE | strscan_reset (VALUE self)
static VALUE | strscan_terminate (VALUE self)
static VALUE | strscan_clear (VALUE self)
static VALUE | strscan_get_string (VALUE self)
static VALUE | strscan_set_string (VALUE self, VALUE str)
static VALUE | strscan_concat (VALUE self, VALUE str)
static VALUE | strscan_get_pos (VALUE self)
static VALUE | strscan_get_charpos (VALUE self)
static VALUE | strscan_set_pos (VALUE self, VALUE v)
static VALUE | strscan_do_scan (VALUE self, VALUE regex, int succptr, int getstr, int headonly)
static VALUE | strscan_scan (VALUE self, VALUE re)
static VALUE | strscan_match_p (VALUE self, VALUE re)
static VALUE | strscan_skip (VALUE self, VALUE re)
static VALUE | strscan_check (VALUE self, VALUE re)
static VALUE | strscan_scan_full (VALUE self, VALUE re, VALUE s, VALUE f)
static VALUE | strscan_scan_until (VALUE self, VALUE re)
static VALUE | strscan_exist_p (VALUE self, VALUE re)
static VALUE | strscan_skip_until (VALUE self, VALUE re)
static VALUE | strscan_check_until (VALUE self, VALUE re)
static VALUE | strscan_search_full (VALUE self, VALUE re, VALUE s, VALUE f)
static void | adjust_registers_to_matched (struct strscanner *p)
static VALUE | strscan_getch (VALUE self)
static VALUE | strscan_get_byte (VALUE self)
static VALUE | strscan_getbyte (VALUE self)
static VALUE | strscan_peek (VALUE self, VALUE vlen)
static VALUE | strscan_peep (VALUE self, VALUE vlen)
static VALUE | strscan_unscan (VALUE self)
static VALUE | strscan_bol_p (VALUE self)
static VALUE | strscan_eos_p (VALUE self)
static VALUE | strscan_empty_p (VALUE self)
static VALUE | strscan_rest_p (VALUE self)
static VALUE | strscan_matched_p (VALUE self)
static VALUE | strscan_matched (VALUE self)
static VALUE | strscan_matched_size (VALUE self)
static VALUE | strscan_aref (VALUE self, VALUE idx)
static VALUE | strscan_pre_match (VALUE self)
static VALUE | strscan_post_match (VALUE self)
static VALUE | strscan_rest (VALUE self)
static VALUE | strscan_rest_size (VALUE self)
static VALUE | strscan_restsize (VALUE self)
static VALUE | strscan_inspect (VALUE self)
static VALUE | inspect1 (struct strscanner *p)
static VALUE | inspect2 (struct strscanner *p)
void | Init_strscan ()

## Variables
static VALUE | StringScanner
static VALUE | ScanError
static ID | id_byteslice
static const rb_data_type_t | strscanner_type

## Macro Definition Documentation

#define BUFSIZE 256

Definition at line 1090 of file strscan.c.

Referenced by inspect1(), inspect2(), and strscan_inspect().

#define CLEAR_MATCH_STATUS | ( |  | s) |  | (s)->flags &= ~FLAG_MATCHED

Definition at line 45 of file strscan.c.

Referenced by strscan_do_scan(), strscan_get_byte(), strscan_getch(), strscan_reset(), strscan_s_allocate(), strscan_set_string(), strscan_terminate(), and strscan_unscan().

#define CURPTR | ( |  | s) |  | (S_PBEG(s) + (s)->curr)

Definition at line 50 of file strscan.c.

Referenced by inspect1(), inspect2(), strscan_bol_p(), strscan_do_scan(), and strscan_getch().

#define EOS_P | ( |  | s) |  | ((s)->curr >= RSTRING_LEN(p->str))

Definition at line 53 of file strscan.c.

Referenced by inspect2(), strscan_eos_p(), strscan_get_byte(), strscan_getch(), strscan_inspect(), strscan_peek(), strscan_rest(), strscan_rest_p(), and strscan_rest_size().

#define FLAG_MATCHED (1 << 0)

Definition at line 30 of file strscan.c.

#define GET_SCANNER | ( |  | obj,
|  |  | var
| ) |  |

Value:
do {\
(var) = check_strscan(obj);\
if (NIL_P((var)->str)) rb_raise(rb_eArgError, "uninitialized StringScanner object");\
} while (0)

Definition at line 55 of file strscan.c.

Referenced by strscan_aref(), strscan_bol_p(), strscan_concat(), strscan_do_scan(), strscan_eos_p(), strscan_get_byte(), strscan_get_charpos(), strscan_get_pos(), strscan_get_string(), strscan_getch(), strscan_matched(), strscan_matched_p(), strscan_matched_size(), strscan_peek(), strscan_post_match(), strscan_pre_match(), strscan_reset(), strscan_rest(), strscan_rest_p(), strscan_rest_size(), strscan_set_pos(), strscan_terminate(), and strscan_unscan().

#define INSPECT_LENGTH 5

Definition at line 1089 of file strscan.c.

Referenced by inspect1(), and inspect2().

#define MATCHED | ( |  | s) |  | (s)->flags |= FLAG_MATCHED

Definition at line 44 of file strscan.c.

Referenced by strscan_do_scan(), strscan_get_byte(), and strscan_getch().

#define MATCHED_P | ( |  | s) |  | ((s)->flags & FLAG_MATCHED)

Definition at line 43 of file strscan.c.

Referenced by strscan_aref(), strscan_matched(), strscan_matched_p(), strscan_matched_size(), strscan_post_match(), strscan_pre_match(), and strscan_unscan().

#define S_LEN | ( |  | s) |  | (RSTRING_LEN((s)->str))

Definition at line 48 of file strscan.c.

Referenced by extract_beg_len(), extract_range(), inspect2(), strscan_getch(), strscan_inspect(), strscan_peek(), strscan_post_match(), strscan_rest(), strscan_rest_size(), strscan_set_pos(), and strscan_terminate().

#define S_PBEG | ( |  | s) |  | (RSTRING_PTR((s)->str))

Definition at line 47 of file strscan.c.

Referenced by extract_beg_len(), and extract_range().

#define S_PEND | ( |  | s) |  | (S_PBEG(s) + S_LEN(s))

Definition at line 49 of file strscan.c.

Referenced by strscan_bol_p(), and strscan_getch().

#define S_RESTLEN | ( |  | s) |  | (S_LEN(s) - (s)->curr)

Definition at line 51 of file strscan.c.

Referenced by strscan_do_scan().

#define STRSCAN_VERSION "0.7.0"

Definition at line 16 of file strscan.c.

Referenced by Init_strscan().

## Function Documentation

static VALUE infect _ | ( | (VALUE str, struct strscanner *p) | ) |  |
| static

static VALUE extract_range _ | ( | (struct strscanner *p, long beg_i, long end_i) | ) |  |
| static

static VALUE extract_beg_len _ | ( | (struct strscanner *p, long beg_i, long len) | ) |  |
| static

static struct strscanner* check_strscan _ | ( | (VALUE obj) | ) |  |
| static

static void strscan_free _ | ( | (void *p) | ) |  |
| static

static size_t strscan_memsize _ | ( | (const void *p) | ) |  |
| static

static VALUE strscan_s_allocate _ | ( | (VALUE klass) | ) |  |
| static

static VALUE strscan_initialize _ | ( | (int argc, VALUE *argv, VALUE self) | ) |  |
| static

static VALUE strscan_init_copy _ | ( | (VALUE vself, VALUE vorig) | ) |  |
| static

static VALUE strscan_inspect _ | ( | (VALUE self) | ) |  |
| static

static VALUE strscan_concat _ | ( | (VALUE self, VALUE str) | ) |  |
| static

static VALUE strscan_set_pos _ | ( | (VALUE self, VALUE pos) | ) |  |
| static

static VALUE strscan_do_scan _ | ( | (VALUE self, VALUE regex, int succptr, int getstr, int headonly) | ) |  |
| static

static VALUE strscan_check_until _ | ( | (VALUE self, VALUE re) | ) |  |
| static

static VALUE strscan_search_full _ | ( | (VALUE self, VALUE re, VALUE succp, VALUE getp) | ) |  |
| static

static VALUE inspect2 _ | ( | (struct strscanner *p) | ) |  |
| static

static VALUE strscan_peep _ | ( | (VALUE self, VALUE len) | ) |  |
| static

static VALUE strscan_aref _ | ( | (VALUE self, VALUE idx) | ) |  |
| static

static void adjust_registers_to_matched | ( | struct strscanner * | p) |  |
| static

Definition at line 696 of file strscan.c.

References strscanner::curr, onig_region_clear(), onig_region_set(), strscanner::prev, and strscanner::regs.

Referenced by strscan_get_byte(), and strscan_getch().

static struct strscanner* check_strscan | ( | VALUE | obj) |  |
| static

Definition at line 227 of file strscan.c.

References rb_check_typeddata().

Referenced by strscan_init_copy(), strscan_initialize(), strscan_inspect(), and strscan_set_string().

static VALUE extract_beg_len | ( | struct strscanner * | p,
|  | long | beg_i,
|  | long | len
| ) |  |
| static

Definition at line 150 of file strscan.c.

References infect(), Qnil, S_LEN, S_PBEG, and str_new().

Referenced by strscan_do_scan(), and strscan_peek().

static VALUE extract_range | ( | struct strscanner * | p,
|  | long | beg_i,
|  | long | end_i
| ) |  |
| static

Definition at line 141 of file strscan.c.

References infect(), Qnil, S_LEN, S_PBEG, and str_new().

Referenced by strscan_aref(), strscan_get_byte(), strscan_getch(), strscan_matched(), strscan_post_match(), strscan_pre_match(), and strscan_rest().

static VALUE infect | ( | VALUE | str,
|  | struct strscanner * | p
| ) |  |
| static

Definition at line 126 of file strscan.c.

References OBJ_INFECT, and strscanner::str.

Referenced by extract_beg_len(), extract_range(), strscan_inspect(), strscan_peek(), and strscan_rest().

void Init_strscan | ( | ) |  |

Definition at line 1287 of file strscan.c.

References id_byteslice, rb_alias(), rb_cObject, rb_const_defined(), rb_const_set(), rb_define_alloc_func(), rb_define_class(), rb_define_class_under(), rb_define_method(), rb_define_private_method(), rb_define_singleton_method(), rb_eStandardError, rb_intern, rb_obj_freeze(), rb_str_new2, ScanError, StringScanner, strscan_aref(), strscan_bol_p(), strscan_check(), strscan_check_until(), strscan_clear(), strscan_concat(), strscan_empty_p(), strscan_eos_p(), strscan_exist_p(), strscan_get_byte(), strscan_get_charpos(), strscan_get_pos(), strscan_get_string(), strscan_getbyte(), strscan_getch(), strscan_init_copy(), strscan_initialize(), strscan_inspect(), strscan_match_p(), strscan_matched(), strscan_matched_p(), strscan_matched_size(), strscan_peek(), strscan_peep(), strscan_post_match(), strscan_pre_match(), strscan_reset(), strscan_rest(), strscan_rest_p(), strscan_rest_size(), strscan_restsize(), strscan_s_allocate(), strscan_s_mustc(), strscan_scan(), strscan_scan_full(), strscan_scan_until(), strscan_search_full(), strscan_set_pos(), strscan_set_string(), strscan_skip(), strscan_skip_until(), strscan_terminate(), strscan_unscan(), and STRSCAN_VERSION.

static VALUE inspect1 | ( | struct strscanner * | p) |  |
| static

Definition at line 1141 of file strscan.c.

References bp, buf, BUFSIZE, CURPTR, strscanner::curr, INSPECT_LENGTH, rb_str_dump(), rb_str_new(), and rb_str_new2.

Referenced by strscan_inspect().

static VALUE inspect2 | ( | struct strscanner * | p) |  |
| static

Definition at line 1160 of file strscan.c.

References bp, buf, BUFSIZE, CURPTR, strscanner::curr, EOS_P, INSPECT_LENGTH, rb_str_dump(), rb_str_new(), rb_str_new2, and S_LEN.

Referenced by strscan_inspect().

static VALUE str_new | ( | struct strscanner * | p,
|  | const char * | ptr,
|  | long | len
| ) |  |
| static

Definition at line 133 of file strscan.c.

References rb_enc_copy(), rb_str_new(), and strscanner::str.

Referenced by extract_beg_len(), extract_range(), strscan_peek(), and strscan_rest().

static VALUE strscan_aref | ( | VALUE | self,
|  | VALUE | idx
| ) |  |
| static

Definition at line 988 of file strscan.c.

References re_registers::beg, re_registers::end, extract_range(), GET_SCANNER, i, MATCHED_P, NUM2LONG, re_registers::num_regs, p, strscanner::prev, Qnil, and strscanner::regs.

Referenced by Init_strscan().

static VALUE strscan_bol_p | ( | VALUE | self) |  |
| static

Definition at line 860 of file strscan.c.

References CURPTR, strscanner::curr, GET_SCANNER, p, Qfalse, Qnil, Qtrue, and S_PEND.

Referenced by Init_strscan().

static VALUE strscan_check | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 581 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_check_until | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 675 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_clear | ( | VALUE | self) |  |
| static

Definition at line 309 of file strscan.c.

References rb_warning(), and strscan_terminate().

Referenced by Init_strscan().

static VALUE strscan_concat | ( | VALUE | self,
|  | VALUE | str
| ) |  |
| static

Definition at line 360 of file strscan.c.

References GET_SCANNER, p, rb_str_append(), strscanner::str, and StringValue.

Referenced by Init_strscan().

static VALUE strscan_do_scan | ( | VALUE | self,
|  | VALUE | regex,
|  | int | succptr,
|  | int | getstr,
|  | int | headonly
| ) |  |
| static

Definition at line 444 of file strscan.c.

References Check_Type, CLEAR_MATCH_STATUS, CURPTR, strscanner::curr, re_registers::end, extract_beg_len(), GET_SCANNER, INT2FIX, MATCHED, onig_free(), onig_match(), ONIG_OPTION_NONE, onig_search(), p, strscanner::prev, Qnil, rb_raise(), rb_reg_prepare_re(), strscanner::regs, RREGEXP, S_RESTLEN, ScanError, strscanner::str, T_REGEXP, and UChar.

Referenced by strscan_check(), strscan_check_until(), strscan_exist_p(), strscan_match_p(), strscan_scan(), strscan_scan_full(), strscan_scan_until(), strscan_search_full(), strscan_skip(), and strscan_skip_until().

static VALUE strscan_empty_p | ( | VALUE | self) |  |
| static

Definition at line 894 of file strscan.c.

References rb_warning(), and strscan_eos_p().

Referenced by Init_strscan().

static VALUE strscan_eos_p | ( | VALUE | self) |  |
| static

Definition at line 881 of file strscan.c.

References EOS_P, GET_SCANNER, p, Qfalse, and Qtrue.

Referenced by Init_strscan(), and strscan_empty_p().

static VALUE strscan_exist_p | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 634 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static void strscan_free | ( | void * | ptr) |  |
| static

Definition at line 170 of file strscan.c.

References onig_region_free(), p, strscanner::regs, and ruby_xfree().

static VALUE strscan_get_byte | ( | VALUE | self) |  |
| static

Definition at line 756 of file strscan.c.

References adjust_registers_to_matched(), re_registers::beg, CLEAR_MATCH_STATUS, strscanner::curr, re_registers::end, EOS_P, extract_range(), GET_SCANNER, MATCHED, p, strscanner::prev, Qnil, and strscanner::regs.

Referenced by Init_strscan(), and strscan_getbyte().

static VALUE strscan_get_charpos | ( | VALUE | self) |  |
| static

Definition at line 407 of file strscan.c.

References strscanner::curr, GET_SCANNER, id_byteslice, INT2FIX, INT2NUM, p, rb_funcall(), rb_str_length(), and strscanner::str.

Referenced by Init_strscan().

static VALUE strscan_get_pos | ( | VALUE | self) |  |
| static

Definition at line 385 of file strscan.c.

References strscanner::curr, GET_SCANNER, INT2FIX, and p.

Referenced by Init_strscan().

static VALUE strscan_get_string | ( | VALUE | self) |  |
| static

Definition at line 319 of file strscan.c.

References GET_SCANNER, p, and strscanner::str.

Referenced by Init_strscan().

static VALUE strscan_getbyte | ( | VALUE | self) |  |
| static

Definition at line 778 of file strscan.c.

References rb_warning(), and strscan_get_byte().

Referenced by Init_strscan().

static VALUE strscan_getch | ( | VALUE | self) |  |
| static

Definition at line 717 of file strscan.c.

References adjust_registers_to_matched(), re_registers::beg, CLEAR_MATCH_STATUS, CURPTR, strscanner::curr, re_registers::end, EOS_P, extract_range(), GET_SCANNER, MATCHED, p, strscanner::prev, Qnil, rb_enc_get(), rb_enc_mbclen(), strscanner::regs, S_LEN, S_PEND, and strscanner::str.

Referenced by Init_strscan().

static VALUE strscan_init_copy | ( | VALUE | vself,
|  | VALUE | vorig
| ) |  |
| static

Definition at line 240 of file strscan.c.

References check_strscan(), strscanner::curr, strscanner::flags, onig_region_copy(), strscanner::prev, strscanner::regs, and strscanner::str.

Referenced by Init_strscan().

static VALUE strscan_initialize | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |
| static

Definition at line 213 of file strscan.c.

References check_strscan(), p, rb_scan_args(), strscanner::str, and StringValue.

Referenced by Init_strscan().

static VALUE strscan_inspect | ( | VALUE | self) |  |
| static

Definition at line 1104 of file strscan.c.

References buf, BUFSIZE, check_strscan(), CLASS_OF, strscanner::curr, EOS_P, infect(), inspect1(), inspect2(), NIL_P, p, rb_class2name(), rb_str_new(), RSTRING_PTR, S_LEN, snprintf, and strscanner::str.

Referenced by Init_strscan().

static void strscan_mark | ( | void * | ptr) |  |
| static

Definition at line 163 of file strscan.c.

References p, rb_gc_mark(), and strscanner::str.

static VALUE strscan_match_p | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 537 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_matched | ( | VALUE | self) |  |
| static

Definition at line 943 of file strscan.c.

References re_registers::beg, re_registers::end, extract_range(), GET_SCANNER, MATCHED_P, p, strscanner::prev, Qnil, and strscanner::regs.

Referenced by Init_strscan().

static VALUE strscan_matched_p | ( | VALUE | self) |  |
| static

Definition at line 927 of file strscan.c.

References GET_SCANNER, MATCHED_P, p, Qfalse, and Qtrue.

Referenced by Init_strscan().

static VALUE strscan_matched_size | ( | VALUE | self) |  |
| static

Definition at line 964 of file strscan.c.

References re_registers::beg, re_registers::end, GET_SCANNER, INT2NUM, MATCHED_P, p, Qnil, and strscanner::regs.

Referenced by Init_strscan().

static size_t strscan_memsize | ( | const void * | ptr) |  |
| static

Definition at line 178 of file strscan.c.

References onig_region_memsize(), p, strscanner::regs, and size.

static VALUE strscan_peek | ( | VALUE | self,
|  | VALUE | vlen
| ) |  |
| static

Definition at line 796 of file strscan.c.

References strscanner::curr, EOS_P, extract_beg_len(), GET_SCANNER, infect(), NUM2LONG, p, S_LEN, and str_new().

Referenced by Init_strscan(), and strscan_peep().

static VALUE strscan_peep | ( | VALUE | self,
|  | VALUE | vlen
| ) |  |
| static

Definition at line 817 of file strscan.c.

References rb_warning(), and strscan_peek().

Referenced by Init_strscan().

static VALUE strscan_post_match | ( | VALUE | self) |  |
| static

Definition at line 1036 of file strscan.c.

References re_registers::end, extract_range(), GET_SCANNER, MATCHED_P, p, strscanner::prev, Qnil, strscanner::regs, and S_LEN.

Referenced by Init_strscan().

static VALUE strscan_pre_match | ( | VALUE | self) |  |
| static

Definition at line 1017 of file strscan.c.

References re_registers::beg, extract_range(), GET_SCANNER, MATCHED_P, p, strscanner::prev, Qnil, and strscanner::regs.

Referenced by Init_strscan().

static VALUE strscan_reset | ( | VALUE | self) |  |
| static

Definition at line 276 of file strscan.c.

References CLEAR_MATCH_STATUS, strscanner::curr, GET_SCANNER, and p.

Referenced by Init_strscan().

static VALUE strscan_rest | ( | VALUE | self) |  |
| static

Definition at line 1050 of file strscan.c.

References strscanner::curr, EOS_P, extract_range(), GET_SCANNER, infect(), p, S_LEN, and str_new().

Referenced by Init_strscan().

static VALUE strscan_rest_p | ( | VALUE | self) |  |
| static

Definition at line 909 of file strscan.c.

References EOS_P, GET_SCANNER, p, Qfalse, and Qtrue.

Referenced by Init_strscan().

static VALUE strscan_rest_size | ( | VALUE | self) |  |
| static

Definition at line 1065 of file strscan.c.

References strscanner::curr, EOS_P, GET_SCANNER, i, INT2FIX, p, and S_LEN.

Referenced by Init_strscan(), and strscan_restsize().

static VALUE strscan_restsize | ( | VALUE | self) |  |
| static

Definition at line 1083 of file strscan.c.

References rb_warning(), and strscan_rest_size().

Referenced by Init_strscan().

static VALUE strscan_s_allocate | ( | VALUE | klass) |  |
| static

Definition at line 194 of file strscan.c.

References ALLOC, CLEAR_MATCH_STATUS, MEMZERO, onig_region_init(), p, Qnil, strscanner::regs, strscanner::str, and TypedData_Wrap_Struct.

Referenced by Init_strscan().

static VALUE strscan_s_mustc | ( | VALUE | self) |  |
| static

Definition at line 267 of file strscan.c.

Referenced by Init_strscan().

static VALUE strscan_scan | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 520 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_scan_full | ( | VALUE | self,
|  | VALUE | re,
|  | VALUE | s,
|  | VALUE | f
| ) |  |
| static

Definition at line 597 of file strscan.c.

References RTEST, and strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_scan_until | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 615 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_search_full | ( | VALUE | self,
|  | VALUE | re,
|  | VALUE | s,
|  | VALUE | f
| ) |  |
| static

Definition at line 690 of file strscan.c.

References RTEST, and strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_set_pos | ( | VALUE | self,
|  | VALUE | v
| ) |  |
| static

Definition at line 429 of file strscan.c.

References strscanner::curr, GET_SCANNER, i, INT2NUM, NUM2INT, p, rb_eRangeError, rb_raise(), and S_LEN.

Referenced by Init_strscan().

static VALUE strscan_set_string | ( | VALUE | self,
|  | VALUE | str
| ) |  |
| static

Definition at line 334 of file strscan.c.

References check_strscan(), CLEAR_MATCH_STATUS, strscanner::curr, p, strscanner::str, and StringValue.

Referenced by Init_strscan().

static VALUE strscan_skip | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 560 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_skip_until | ( | VALUE | self,
|  | VALUE | re
| ) |  |
| static

Definition at line 656 of file strscan.c.

References strscan_do_scan().

Referenced by Init_strscan().

static VALUE strscan_terminate | ( | VALUE | self) |  |
| static

Definition at line 294 of file strscan.c.

References CLEAR_MATCH_STATUS, strscanner::curr, GET_SCANNER, p, and S_LEN.

Referenced by Init_strscan(), and strscan_clear().

static VALUE strscan_unscan | ( | VALUE | self) |  |
| static

Definition at line 835 of file strscan.c.

References CLEAR_MATCH_STATUS, strscanner::curr, GET_SCANNER, MATCHED_P, p, strscanner::prev, rb_raise(), and ScanError.

Referenced by Init_strscan().

## Variable Documentation

ID id_byteslice
| static

Definition at line 24 of file strscan.c.

Referenced by Init_strscan(), and strscan_get_charpos().

VALUE ScanError
| static

Definition at line 23 of file strscan.c.

Referenced by Init_strscan(), strscan_do_scan(), and strscan_unscan().

VALUE StringScanner
| static

Definition at line 22 of file strscan.c.

Referenced by Init_strscan().

const rb_data_type_t strscanner_type
| static

Initial value:
= {
"StringScanner",
{strscan_mark, strscan_free, strscan_memsize}
}

Definition at line 188 of file strscan.c.