/trunk/Examples/guile/multivalue/example.i
Swig | 32 lines | 12 code | 9 blank | 11 comment | 0 complexity | 9713e3840c12e80945328c8fac740f97 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* -*- c -*- */
- %module example;
- %{
- void divide_l(int a, int b, int *quotient_p, int *remainder_p);
- void divide_v(int a, int b, int *quotient_p, int *remainder_p);
- void divide_mv(int a, int b, int *quotient_p, int *remainder_p);
- %}
- /* Multiple values as lists. By default, if more than one value is to
- be returned, a list of the values is created and returned; to switch
- back to this behavior, use: */
- %values_as_list;
- void divide_l(int a, int b, int *OUTPUT, int *OUTPUT);
- /* Multiple values as vectors. By issueing: */
- %values_as_vector;
- /* vectors instead of lists will be used. */
- void divide_v(int a, int b, int *OUTPUT, int *OUTPUT);
- /* Multiple values for multiple-value continuations.
- (This is the most elegant way.) By issueing: */
- %multiple_values;
- /* multiple values are passed to the multiple-value
- continuation, as created by `call-with-values' or the
- convenience macro `receive'. (See the Scheme file.) */
- void divide_mv(int a, int b, int *OUTPUT, int *OUTPUT);