diff options
author | Andy Wingo <wingo@pobox.com> | 2014-02-08 14:18:40 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-02-08 14:28:07 +0100 |
commit | fb7dd00169304a5922838e4d2f25253640a35def (patch) | |
tree | c7f8aa54df8b33d7238f8a1718e4ff91711e262e /libguile/uniform.h | |
parent | dc65b88d839c326889618112c4870ad3a64e9446 (diff) | |
download | guile-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.h | 54 |
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); |