Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
mruby-eeac4be
include
mruby
array.h
Go to the documentation of this file.
1
/*
2
** mruby/array.h - Array class
3
**
4
** See Copyright Notice in mruby.h
5
*/
6
7
#ifndef MRUBY_ARRAY_H
8
#define MRUBY_ARRAY_H
9
10
#if defined(__cplusplus)
11
extern
"C"
{
12
#endif
13
14
typedef
struct
mrb_shared_array
{
15
int
refcnt
;
16
mrb_value
*
ptr
;
17
mrb_int
len
;
18
}
mrb_shared_array
;
19
20
struct
RArray
{
21
MRB_OBJECT_HEADER
;
22
mrb_int
len
;
23
union
{
24
mrb_int
capa
;
25
mrb_shared_array
*
shared
;
26
}
aux
;
27
mrb_value
*
ptr
;
28
};
29
30
#define mrb_ary_ptr(v) ((struct RArray*)(mrb_ptr(v)))
31
#define mrb_ary_value(p) mrb_obj_value((void*)(p))
32
#define RARRAY(v) ((struct RArray*)(mrb_ptr(v)))
33
34
#define RARRAY_LEN(a) (RARRAY(a)->len)
35
#define RARRAY_PTR(a) (RARRAY(a)->ptr)
36
#define MRB_ARY_SHARED 256
37
38
void
mrb_ary_decref
(
mrb_state
*,
mrb_shared_array
*);
39
mrb_value
mrb_ary_new_capa
(
mrb_state
*,
mrb_int
);
40
mrb_value
mrb_ary_new
(
mrb_state
*mrb);
41
mrb_value
mrb_ary_new_from_values
(
mrb_state
*mrb,
mrb_int
size,
const
mrb_value
*vals);
42
void
mrb_ary_concat
(
mrb_state
*,
mrb_value
,
mrb_value
);
43
mrb_value
mrb_ary_splat
(
mrb_state
*,
mrb_value
);
44
void
mrb_ary_push
(
mrb_state
*,
mrb_value
,
mrb_value
);
45
mrb_value
mrb_ary_pop
(
mrb_state
*mrb,
mrb_value
ary);
46
mrb_value
mrb_ary_aget
(
mrb_state
*mrb,
mrb_value
self
);
47
mrb_value
mrb_ary_ref
(
mrb_state
*mrb,
mrb_value
ary,
mrb_int
n);
48
void
mrb_ary_set
(
mrb_state
*mrb,
mrb_value
ary,
mrb_int
n,
mrb_value
val);
49
mrb_int
mrb_ary_len
(
mrb_state
*mrb,
mrb_value
ary);
50
void
mrb_ary_replace
(
mrb_state
*mrb,
mrb_value
a,
mrb_value
b
);
51
mrb_value
mrb_check_array_type
(
mrb_state
*mrb,
mrb_value
self
);
52
mrb_value
mrb_ary_unshift
(
mrb_state
*mrb,
mrb_value
self
,
mrb_value
item);
53
mrb_value
mrb_assoc_new
(
mrb_state
*mrb,
mrb_value
car,
mrb_value
cdr);
54
mrb_value
mrb_ary_entry
(
mrb_value
ary,
mrb_int
offset);
55
mrb_value
mrb_ary_shift
(
mrb_state
*mrb,
mrb_value
self
);
56
mrb_value
mrb_ary_clear
(
mrb_state
*mrb,
mrb_value
self
);
57
mrb_value
mrb_ary_join
(
mrb_state
*mrb,
mrb_value
ary,
mrb_value
sep);
58
59
#if defined(__cplusplus)
60
}
/* extern "C" { */
61
#endif
62
63
#endif
/* MRUBY_ARRAY_H */
Generated on Sun Nov 10 2013 09:49:05 for Groonga 3.0.9 Source Code Document by
1.8.1.2