48 if( !value.
range )
return value;
73#if defined(MRBC_ALLOC_VMID)
81 mrbc_set_vm_id( v->
range, 0 );
102 if( res != 0 )
return res;
105 if( res != 0 )
return res;
115static void c_range_equal3(
struct VM *vm,
mrbc_value v[],
int argc)
123 int cmp_first =
mrbc_compare( &v[0].range->first, &v[1] );
124 int result = (cmp_first <= 0);
125 if( !result )
goto DONE;
127 int cmp_last =
mrbc_compare( &v[1], &v[0].range->last );
138static void c_range_first(
struct VM *vm,
mrbc_value v[],
int argc)
148static void c_range_last(
struct VM *vm,
mrbc_value v[],
int argc)
159static void c_range_exclude_end(
struct VM *vm,
mrbc_value v[],
int argc)
171static void c_range_inspect(
struct VM *vm,
mrbc_value v[],
int argc)
179 if( !ret.
string )
goto RETURN_NIL;
182 for( i = 0; i < 2; i++ ) {
213#include "_autogen_class_range.h"
void mrbc_raw_free(void *ptr)
void mrbc_range_delete(mrbc_value *v)
mrbc_value mrbc_range_new(struct VM *vm, mrbc_value *first, mrbc_value *last, int flag_exclude)
int mrbc_range_compare(const mrbc_value *v1, const mrbc_value *v2)
static mrbc_value mrbc_range_last(const mrbc_value *v)
struct RRange mrbc_range
Range object.
static mrbc_value mrbc_range_first(const mrbc_value *v)
void mrbc_string_delete(mrbc_value *str)
int mrbc_string_append(mrbc_value *s1, const mrbc_value *s2)
mrbc_value mrbc_string_new(struct VM *vm, const void *src, int len)
static mrbc_value mrbc_string_new_cstr(struct VM *vm, const char *src)
static int mrbc_string_append_cstr(mrbc_value *s1, const char *s2)
mrbc_value mrbc_send(struct VM *vm, mrbc_value *v, int argc, mrbc_value *recv, const char *method_name, int n_params,...)
Include at once the necessary header files.
const char * mrbc_symid_to_str(mrbc_sym sym_id)
int mrbc_compare(const mrbc_value *v1, const mrbc_value *v2)
static void mrbc_decref(mrbc_value *v)
#define MRBC_INIT_OBJECT_HEADER(p, t)
#define SET_BOOL_RETURN(n)
struct RObject mrbc_value
Global configuration of mruby/c VM's.