summaryrefslogtreecommitdiff
path: root/libguile/uniform.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-02-08 14:18:40 +0100
committerAndy Wingo <wingo@pobox.com>2014-02-08 14:28:07 +0100
commitfb7dd00169304a5922838e4d2f25253640a35def (patch)
treec7f8aa54df8b33d7238f8a1718e4ff91711e262e /libguile/uniform.h
parentdc65b88d839c326889618112c4870ad3a64e9446 (diff)
downloadguile-fb7dd00169304a5922838e4d2f25253640a35def.tar.gz
Deprecate general "uniform-vector" interface
* libguile/uniform.h: * libguile/uniform.c (scm_is_uniform_vector, scm_uniform_vector_p) (scm_c_uniform_vector_length, scm_uniform_vector_length) (scm_uniform_vector_element_type, scm_uniform_vector_element_size) (scm_c_uniform_vector_ref, scm_uniform_vector_ref): (scm_c_uniform_vector_set_x, scm_uniform_vector_set_x): (scm_uniform_vector_to_list) (scm_uniform_vector_elements, scm_uniform_vector_writable_elements): Deprecate. This interface lacked both generality and specificity. The general replacement is array-length, array-ref, and friends on the scheme side, or the array handle interface on the C side. On the specific side of things, there are the specific bytevector, srfi-4, and bitvector interfaces. * test-suite/tests/arrays.test: * test-suite/tests/bitvectors.test: * test-suite/tests/ports.test: * test-suite/tests/srfi-4.test: Update to use array interfaces. * doc/ref/api-foreign.texi (Void Pointers and Byte Access): * doc/ref/srfi-modules.texi (SRFI-4): Update.
Diffstat (limited to 'libguile/uniform.h')
-rw-r--r--libguile/uniform.h54
1 files changed, 30 insertions, 24 deletions
diff --git a/libguile/uniform.h b/libguile/uniform.h
index f0d5915f6..5dbbe357d 100644
--- a/libguile/uniform.h
+++ b/libguile/uniform.h
@@ -3,7 +3,8 @@
#ifndef SCM_UNIFORM_H
#define SCM_UNIFORM_H
-/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006, 2008, 2009,
+ * 2014 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -44,29 +45,34 @@ SCM_API size_t scm_array_handle_uniform_element_bit_size (scm_t_array_handle *h)
SCM_API const void *scm_array_handle_uniform_elements (scm_t_array_handle *h);
SCM_API void *scm_array_handle_uniform_writable_elements (scm_t_array_handle *h);
-SCM_API SCM scm_uniform_vector_p (SCM v);
-SCM_API SCM scm_uniform_vector_length (SCM v);
-SCM_API SCM scm_uniform_vector_element_type (SCM v);
-SCM_API SCM scm_uniform_vector_element_size (SCM v);
-SCM_API SCM scm_uniform_vector_ref (SCM v, SCM idx);
-SCM_API SCM scm_uniform_vector_set_x (SCM v, SCM idx, SCM val);
-SCM_API SCM scm_uniform_vector_to_list (SCM v);
-SCM_API SCM scm_uniform_vector_read_x (SCM v, SCM port_or_fd,
- SCM start, SCM end);
-SCM_API SCM scm_uniform_vector_write (SCM v, SCM port_or_fd,
- SCM start, SCM end);
-
-SCM_API int scm_is_uniform_vector (SCM obj);
-SCM_API size_t scm_c_uniform_vector_length (SCM v);
-SCM_API SCM scm_c_uniform_vector_ref (SCM v, size_t idx);
-SCM_API void scm_c_uniform_vector_set_x (SCM v, size_t idx, SCM val);
-SCM_API const void *scm_uniform_vector_elements (SCM uvec,
- scm_t_array_handle *h,
- size_t *lenp, ssize_t *incp);
-SCM_API void *scm_uniform_vector_writable_elements (SCM uvec,
- scm_t_array_handle *h,
- size_t *lenp,
- ssize_t *incp);
+#if SCM_ENABLE_DEPRECATED
+
+SCM_DEPRECATED SCM scm_uniform_vector_p (SCM v);
+SCM_DEPRECATED SCM scm_uniform_vector_length (SCM v);
+SCM_DEPRECATED SCM scm_uniform_vector_element_type (SCM v);
+SCM_DEPRECATED SCM scm_uniform_vector_element_size (SCM v);
+SCM_DEPRECATED SCM scm_uniform_vector_ref (SCM v, SCM idx);
+SCM_DEPRECATED SCM scm_uniform_vector_set_x (SCM v, SCM idx, SCM val);
+SCM_DEPRECATED SCM scm_uniform_vector_to_list (SCM v);
+SCM_DEPRECATED SCM scm_uniform_vector_read_x (SCM v, SCM port_or_fd,
+ SCM start, SCM end);
+SCM_DEPRECATED SCM scm_uniform_vector_write (SCM v, SCM port_or_fd,
+ SCM start, SCM end);
+
+SCM_DEPRECATED int scm_is_uniform_vector (SCM obj);
+SCM_DEPRECATED size_t scm_c_uniform_vector_length (SCM v);
+SCM_DEPRECATED SCM scm_c_uniform_vector_ref (SCM v, size_t idx);
+SCM_DEPRECATED void scm_c_uniform_vector_set_x (SCM v, size_t idx, SCM val);
+SCM_DEPRECATED const void *scm_uniform_vector_elements (SCM uvec,
+ scm_t_array_handle *h,
+ size_t *lenp,
+ ssize_t *incp);
+SCM_DEPRECATED void *scm_uniform_vector_writable_elements (SCM uvec,
+ scm_t_array_handle *h,
+ size_t *lenp,
+ ssize_t *incp);
+
+#endif
SCM_INTERNAL void scm_init_uniform (void);