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_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))];
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue