1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00

* objects.c (scm_make_port_classes): New function ptr.

This commit is contained in:
Mikael Djurfeldt 1999-07-24 23:09:48 +00:00
parent 16019956ab
commit c163662710
2 changed files with 4 additions and 2 deletions

View file

@ -71,6 +71,7 @@ SCM *scm_port_class = 0;
SCM *scm_smob_class = 0; SCM *scm_smob_class = 0;
SCM (*scm_make_extended_class) (char *type_name); SCM (*scm_make_extended_class) (char *type_name);
void (*scm_make_port_classes) (int ptobnum, char *type_name);
void (*scm_change_object_class) (SCM, SCM, SCM); void (*scm_change_object_class) (SCM, SCM, SCM);
/* This function is used for efficient type dispatch. */ /* This function is used for efficient type dispatch. */
@ -140,8 +141,8 @@ scm_class_of (SCM x)
return scm_class_procedure_with_setter; return scm_class_procedure_with_setter;
case scm_tc7_port: case scm_tc7_port:
return scm_port_class[(SCM_CAR (x) | SCM_WRTNG return scm_port_class[(SCM_WRTNG & SCM_CAR (x)
? (SCM_CAR (x) | SCM_RDNG ? (SCM_RDNG & SCM_CAR (x)
? SCM_INOUT_PCLASS_INDEX | SCM_PTOBNUM (x) ? SCM_INOUT_PCLASS_INDEX | SCM_PTOBNUM (x)
: SCM_OUT_PCLASS_INDEX | SCM_PTOBNUM (x)) : SCM_OUT_PCLASS_INDEX | SCM_PTOBNUM (x))
: SCM_IN_PCLASS_INDEX | SCM_PTOBNUM (x))]; : SCM_IN_PCLASS_INDEX | SCM_PTOBNUM (x))];

View file

@ -200,6 +200,7 @@ extern SCM *scm_smob_class;
/* Plugin Goops functions. */ /* Plugin Goops functions. */
extern SCM (*scm_make_extended_class) (char *type_name); extern SCM (*scm_make_extended_class) (char *type_name);
extern void (*scm_make_port_classes) (int ptobnum, char *type_name);
extern void (*scm_change_object_class) (SCM, SCM, SCM); extern void (*scm_change_object_class) (SCM, SCM, SCM);
extern void (*scm_memoize_method) (SCM x, SCM args); extern void (*scm_memoize_method) (SCM x, SCM args);