Tempfile document updated.
[ruby.git] / variable.h
blob1abc89ed99f711b2f6b018db8a976d5a6b80a38c
1 #ifndef RUBY_TOPLEVEL_VARIABLE_H /*-*-C-*-vi:se ft=c:*/
2 #define RUBY_TOPLEVEL_VARIABLE_H
3 /**
4 * @author Ruby developers <ruby-core@ruby-lang.org>
5 * @copyright This file is a part of the programming language Ruby.
6 * Permission is hereby granted, to either redistribute and/or
7 * modify this file, provided that the conditions mentioned in the
8 * file COPYING are met. Consult the file for details.
9 */
11 /* per-object */
13 #include "shape.h"
15 struct gen_ivtbl {
16 #if !SHAPE_IN_BASIC_FLAGS
17 uint16_t shape_id;
18 #endif
19 union {
20 struct {
21 uint32_t numiv;
22 VALUE ivptr[1];
23 } shape;
24 struct {
25 st_table *table;
26 } complex;
27 } as;
30 int rb_ivar_generic_ivtbl_lookup(VALUE obj, struct gen_ivtbl **);
32 #if !SHAPE_IN_BASIC_FLAGS
33 shape_id_t rb_generic_shape_id(VALUE obj);
34 #endif
36 void rb_free_rb_global_tbl(void);
37 void rb_free_generic_iv_tbl_(void);
39 #endif /* RUBY_TOPLEVEL_VARIABLE_H */