*
* An example of an operator class is the class <tk-command>.
*/
-#define SCM_METACLASS_STANDARD_LAYOUT "pwpw"
+#define SCM_METACLASS_STANDARD_LAYOUT ""
struct scm_metaclass_standard {
SCM layout;
SCM vcell;
SCM vtable;
SCM print;
- SCM direct_supers;
- SCM direct_slots;
};
-#define SCM_METACLASS_OPERATOR_LAYOUT "pwpwpwpwpwpw"
+#define SCM_METACLASS_OPERATOR_LAYOUT "popopopo"
struct scm_metaclass_operator {
SCM layout;
SCM vcell;
SCM vtable;
SCM print;
- SCM direct_supers;
- SCM direct_slots;
SCM proc0;
SCM proc1;
SCM proc2;
*
* An example of an entity class is the class of generic methods.
*/
-#define SCM_ENTITY_LAYOUT "pwpwpwpw"
+#define SCM_ENTITY_LAYOUT "popopopo"
typedef struct scm_entity {
SCM proc0;
SCM proc1;
extern SCM scm_metaclass_standard;
extern SCM scm_metaclass_operator;
+extern SCM scm_entity_p (SCM obj);
+extern SCM scm_set_object_procedure_x (SCM obj, SCM procs);
+extern SCM scm_make_class_object (SCM metaclass, SCM layout);
+extern SCM scm_make_subclass_object (SCM class, SCM layout);
+
+extern SCM scm_i_make_class_object (SCM metaclass, SCM layout_string,
+ unsigned long flags);
extern void scm_init_objects SCM_P ((void));
#endif /* OBJECTSH */