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:
parent
16019956ab
commit
c163662710
2 changed files with 4 additions and 2 deletions
|
@ -71,6 +71,7 @@ SCM *scm_port_class = 0;
|
|||
SCM *scm_smob_class = 0;
|
||||
|
||||
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);
|
||||
|
||||
/* This function is used for efficient type dispatch. */
|
||||
|
@ -140,8 +141,8 @@ scm_class_of (SCM x)
|
|||
return scm_class_procedure_with_setter;
|
||||
|
||||
case scm_tc7_port:
|
||||
return scm_port_class[(SCM_CAR (x) | SCM_WRTNG
|
||||
? (SCM_CAR (x) | SCM_RDNG
|
||||
return scm_port_class[(SCM_WRTNG & SCM_CAR (x)
|
||||
? (SCM_RDNG & SCM_CAR (x)
|
||||
? SCM_INOUT_PCLASS_INDEX | SCM_PTOBNUM (x)
|
||||
: SCM_OUT_PCLASS_INDEX | SCM_PTOBNUM (x))
|
||||
: SCM_IN_PCLASS_INDEX | SCM_PTOBNUM (x))];
|
||||
|
|
|
@ -200,6 +200,7 @@ extern SCM *scm_smob_class;
|
|||
|
||||
/* Plugin Goops functions. */
|
||||
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_memoize_method) (SCM x, SCM args);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue