summaryrefslogtreecommitdiff
path: root/libguile/generalized-vectors.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/generalized-vectors.h')
-rw-r--r--libguile/generalized-vectors.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libguile/generalized-vectors.h b/libguile/generalized-vectors.h
index 08321d106..71b58d291 100644
--- a/libguile/generalized-vectors.h
+++ b/libguile/generalized-vectors.h
@@ -43,6 +43,12 @@ SCM_API void scm_c_generalized_vector_set_x (SCM v, size_t idx, SCM val);
SCM_API void scm_generalized_vector_get_handle (SCM vec,
scm_t_array_handle *h);
+SCM_API SCM scm_make_generalized_vector (SCM type, SCM len, SCM fill);
+SCM_INTERNAL void scm_i_register_vector_constructor (SCM type, SCM (*ctor)(SCM, SCM));
+
+#define SCM_VECTOR_IMPLEMENTATION(type, ctor) \
+ SCM_SNARF_INIT (scm_i_register_vector_constructor \
+ (scm_i_array_element_types[type], ctor))
SCM_INTERNAL void scm_init_generalized_vectors (void);