mruby  2.0.1
mruby is the lightweight implementation of the Ruby language
Macros | Typedefs | Enumerations | Functions
value.h File Reference

More...

#include "common.h"
#include <inttypes.h>
#include <mruby/object.h>
#include "boxing_no.h"
Include dependency graph for value.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MRB_INT_BIT   32
 
#define MRB_INT_MIN   (INT32_MIN>>MRB_FIXNUM_SHIFT)
 
#define MRB_INT_MAX   (INT32_MAX>>MRB_FIXNUM_SHIFT)
 
#define MRB_PRIo   PRIo32
 
#define MRB_PRId   PRId32
 
#define MRB_PRIx   PRIx32
 
#define mrb_fixnum_p(o)   (mrb_type(o) == MRB_TT_FIXNUM)
 
#define mrb_undef_p(o)   (mrb_type(o) == MRB_TT_UNDEF)
 
#define mrb_nil_p(o)   (mrb_type(o) == MRB_TT_FALSE && !mrb_fixnum(o))
 
#define mrb_false_p(o)   (mrb_type(o) == MRB_TT_FALSE && !!mrb_fixnum(o))
 
#define mrb_true_p(o)   (mrb_type(o) == MRB_TT_TRUE)
 
#define mrb_bool(o)   (mrb_type(o) != MRB_TT_FALSE)
 
#define MRB_SYMBOL_BITSIZE   (sizeof(mrb_sym) * CHAR_BIT)
 
#define MRB_SYMBOL_MAX   UINT32_MAX
 
#define mrb_float_p(o)   (mrb_type(o) == MRB_TT_FLOAT)
 
#define mrb_symbol_p(o)   (mrb_type(o) == MRB_TT_SYMBOL)
 
#define mrb_array_p(o)   (mrb_type(o) == MRB_TT_ARRAY)
 
#define mrb_string_p(o)   (mrb_type(o) == MRB_TT_STRING)
 
#define mrb_hash_p(o)   (mrb_type(o) == MRB_TT_HASH)
 
#define mrb_cptr_p(o)   (mrb_type(o) == MRB_TT_CPTR)
 
#define mrb_exception_p(o)   (mrb_type(o) == MRB_TT_EXCEPTION)
 
#define mrb_test(o)   mrb_bool(o)
 
#define mrb_ro_data_p(p)   FALSE
 

Typedefs

typedef uint32_t mrb_sym
 
typedef uint8_t mrb_bool
 
typedef int32_t mrb_int
 
typedef double mrb_float
 

Enumerations

enum  mrb_vtype {
  MRB_TT_FALSE = 0, MRB_TT_FREE, MRB_TT_TRUE, MRB_TT_FIXNUM,
  MRB_TT_SYMBOL, MRB_TT_UNDEF, MRB_TT_FLOAT, MRB_TT_CPTR,
  MRB_TT_OBJECT, MRB_TT_CLASS, MRB_TT_MODULE, MRB_TT_ICLASS,
  MRB_TT_SCLASS, MRB_TT_PROC, MRB_TT_ARRAY, MRB_TT_HASH,
  MRB_TT_STRING, MRB_TT_RANGE, MRB_TT_EXCEPTION, MRB_TT_FILE,
  MRB_TT_ENV, MRB_TT_DATA, MRB_TT_FIBER, MRB_TT_ISTRUCT,
  MRB_TT_BREAK, MRB_TT_MAXDEFINE
}
 

Functions

double mrb_float_read (const char *, char **)
 
static mrb_value mrb_float_value (struct mrb_state *mrb, mrb_float f)
 Returns a float in Ruby. More...
 
static mrb_value mrb_cptr_value (struct mrb_state *mrb, void *p)
 
static mrb_value mrb_fixnum_value (mrb_int i)
 Returns a fixnum in Ruby. More...
 
static mrb_value mrb_symbol_value (mrb_sym i)
 
static mrb_value mrb_obj_value (void *p)
 
static mrb_value mrb_nil_value (void)
 Get a nil mrb_value object. More...
 
static mrb_value mrb_false_value (void)
 Returns false in Ruby.
 
static mrb_value mrb_true_value (void)
 Returns true in Ruby.
 
static mrb_value mrb_bool_value (mrb_bool boolean)
 
static mrb_value mrb_undef_value (void)
 

Detailed Description

See Copyright Notice in mruby.h

Function Documentation

◆ mrb_fixnum_value()

static mrb_value mrb_fixnum_value ( mrb_int  i)
inlinestatic

Returns a fixnum in Ruby.

Takes an integer and boxes it into an mrb_value

◆ mrb_float_value()

static mrb_value mrb_float_value ( struct mrb_state mrb,
mrb_float  f 
)
inlinestatic

Returns a float in Ruby.

Takes a float and boxes it into an mrb_value

◆ mrb_nil_value()

static mrb_value mrb_nil_value ( void  )
inlinestatic

Get a nil mrb_value object.

Returns
nil mrb_value object reference.