PageRenderTime 24ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/pointer_in_out.i

#
Swig | 35 lines | 23 code | 9 blank | 3 comment | 0 complexity | d48c80e53fe7e431d4419c24b37ab0c1 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. /* This file tests the pointer-in-out typemap library,
  2. currently only available for Guile. */
  3. %module pointer_in_out
  4. %include "pointer-in-out.i"
  5. TYPEMAP_POINTER_INPUT_OUTPUT(int *, int-pointer);
  6. int consume_int_pointer(int **INPUT);
  7. void produce_int_pointer(int **OUTPUT, int value1, int value2);
  8. void frobnicate_int_pointer(int **INOUT);
  9. %{
  10. int consume_int_pointer(int **INPUT)
  11. {
  12. return **INPUT;
  13. }
  14. void produce_int_pointer(int **OUTPUT, int value1, int value2)
  15. {
  16. int *foo = malloc(2 * sizeof(int));
  17. foo[0] = value1;
  18. foo[1] = value2;
  19. *OUTPUT = foo;
  20. }
  21. void frobnicate_int_pointer(int **INOUT)
  22. {
  23. /* advance the pointer */
  24. (*INOUT)++;
  25. }
  26. %}