summaryrefslogtreecommitdiff
path: root/libguile/struct.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1999-03-14 16:52:32 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1999-03-14 16:52:32 +0000
commit98d5f6018aaaff6a76081ea8712568bb3336455e (patch)
tree38d8a8cb0ecfca4cb7eb74de1a45295e55d83212 /libguile/struct.h
parentda61c37a083928f8de0d4fc549718f9c95552926 (diff)
downloadguile-98d5f6018aaaff6a76081ea8712568bb3336455e.tar.gz
* struct.c: #include "alist.h", "weaks.h", "hashtab.h";
(scm_struct_table): Weak key table with auxilliary information for struct types. Currently used for names and wrapper classes. (scm_struct_ihashq): Hash function for structs. (scm_struct_create_handle): Get/create entry in scm_struct_table. (scm_struct_vtable_name, scm_set_struct_vtable_name_x): Procedures for accessing names of vtables. The record implementation in boot-9.scm currently uses the setter to record the name of record types. When the object system is initialized, it can use this information to create wrapper classes with suitable names. (scm_init_struct): Allocate scm_struct_table. (scm_alloc_struct): Don't initialize scm_struct_i_tag here. (struct tags are a finite resource and we might want to restrict the use of tags to vtables only. E.g., Goops only uses tags for classes.) (scm_make_struct): Use scm_struct_entity_n_extra_words instead of magic number 5. (scm_struct_vtable_tag): Use scm_struct_i_tag instead of magic number -1.
Diffstat (limited to 'libguile/struct.h')
0 files changed, 0 insertions, 0 deletions