WRAP (TYPE foreign_obj); \
\
TYPE \
- UNWRAP (SCM wrapped_obj); \
+ UNWRAP (SCM wrapped_obj, bool assert_type = true); \
\
bool \
PRED (SCM wrapped_obj);
} \
\
TYPE \
- UNWRAP (SCM wrapped_obj) \
+ UNWRAP (SCM wrapped_obj, bool assert_type) \
{ \
- scm_assert_foreign_object_type (wrapped_##INIT, wrapped_obj); \
+ if (assert_type) \
+ { \
+ scm_assert_foreign_object_type (wrapped_##INIT, wrapped_obj); \
+ } \
return (TYPE)scm_foreign_object_ref (wrapped_obj, 0); \
} \
\