summaryrefslogtreecommitdiff
path: root/share/swig/2.0.11/modula3/typemaps.i
blob: 1d76ab5e07187094f36d9425453f5091afa937c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/* -----------------------------------------------------------------------------
 * typemaps.i
 *
 * Pointer and reference handling typemap library
 *
 * These mappings provide support for input/output arguments and common
 * uses for C/C++ pointers and C++ references.
 * ----------------------------------------------------------------------------- */

/* These typemaps will eventually probably maybe make their way into named typemaps
 * OUTPUT * and OUTPUT & as they currently break functions that return a pointer or 
 * reference. */

%typemap(ctype) bool *,               bool &               "bool *"
%typemap(ctype)                       char &               "char *"
%typemap(ctype) signed char *,        signed char &        "signed char *"
%typemap(ctype) unsigned char *,      unsigned char &      "unsigned short *"
%typemap(ctype) short *,              short &              "short *"
%typemap(ctype) unsigned short *,     unsigned short &     "unsigned short *"
%typemap(ctype) int *,                int &                "int *"
%typemap(ctype) unsigned int *,       unsigned int &       "unsigned int *"
%typemap(ctype) long *,               long &               "long *"
%typemap(ctype) unsigned long *,      unsigned long &      "unsigned long *"
%typemap(ctype) long long *,          long long &          "long long *"
%typemap(ctype) unsigned long long *, unsigned long long & "unsigned long long *"
%typemap(ctype) float *,              float &              "float *"
%typemap(ctype) double *,             double &             "double *"

%typemap(imtype) bool *,               bool &               "ref bool"
%typemap(imtype)                       char &               "ref char"
%typemap(imtype) signed char *,        signed char &        "ref sbyte"
%typemap(imtype) unsigned char *,      unsigned char &      "ref byte"
%typemap(imtype) short *,              short &              "ref short"
%typemap(imtype) unsigned short *,     unsigned short &     "ref ushort"
%typemap(imtype) int *,                int &                "ref int"
%typemap(imtype) unsigned int *,       unsigned int &       "ref uint"
%typemap(imtype) long *,               long &               "ref int"
%typemap(imtype) unsigned long *,      unsigned long &      "ref uint"
%typemap(imtype) long long *,          long long &          "ref long"
%typemap(imtype) unsigned long long *, unsigned long long & "ref ulong"
%typemap(imtype) float *,              float &              "ref float"
%typemap(imtype) double *,             double &             "ref double"

%typemap(cstype) bool *,               bool &               "ref bool"
%typemap(cstype)                       char &               "ref char"
%typemap(cstype) signed char *,        signed char &        "ref sbyte"
%typemap(cstype) unsigned char *,      unsigned char &      "ref byte"
%typemap(cstype) short *,              short &              "ref short"
%typemap(cstype) unsigned short *,     unsigned short &     "ref ushort"
%typemap(cstype) int *,                int &                "ref int"
%typemap(cstype) unsigned int *,       unsigned int &       "ref uint"
%typemap(cstype) long *,               long &               "ref int"
%typemap(cstype) unsigned long *,      unsigned long &      "ref uint"
%typemap(cstype) long long *,          long long &          "ref long"
%typemap(cstype) unsigned long long *, unsigned long long & "ref ulong"
%typemap(cstype) float *,              float &              "ref float"
%typemap(cstype) double *,             double &             "ref double"

%typemap(csin)   bool *,               bool &,
                                       char &,
                 signed char *,        signed char &,
                 unsigned char *,      unsigned char &,
                 short *,              short &,
                 unsigned short *,     unsigned short &,
                 int *,                int &,
                 unsigned int *,       unsigned int &,
                 long *,               long &,
                 unsigned long *,      unsigned long &,
                 long long *,          long long &,
                 unsigned long long *, unsigned long long &,
                 float *,              float &,
                 double *,             double &
    "ref $csinput"