summaryrefslogtreecommitdiff
path: root/Examples/test-suite/arrays_global.i
blob: fd53a224ee5e7738697008d05978a7bf2296deb8 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
This test case tests that various types of arrays are working.
*/

%warnfilter(SWIGWARN_TYPEMAP_CHARLEAK,SWIGWARN_TYPEMAP_VARIN_UNDEF);

%module arrays_global

%inline %{
#define ARRAY_LEN 2

typedef enum {One, Two, Three, Four, Five} finger;

typedef struct {
	double         double_field;
} SimpleStruct;

char           array_c [ARRAY_LEN];
signed char    array_sc[ARRAY_LEN];
unsigned char  array_uc[ARRAY_LEN];
short          array_s [ARRAY_LEN];
unsigned short array_us[ARRAY_LEN];
int            array_i [ARRAY_LEN];
unsigned int   array_ui[ARRAY_LEN];
long           array_l [ARRAY_LEN];
unsigned long  array_ul[ARRAY_LEN];
long long      array_ll[ARRAY_LEN];
float          array_f [ARRAY_LEN];
double         array_d [ARRAY_LEN];
SimpleStruct   array_struct[ARRAY_LEN];
SimpleStruct*  array_structpointers[ARRAY_LEN];
int*           array_ipointers [ARRAY_LEN];
finger         array_enum[ARRAY_LEN];
finger*        array_enumpointers[ARRAY_LEN];
const int      array_const_i[ARRAY_LEN] = {10, 20};

%}

%inline %{
  
const char BeginString_FIX44a[8] = "FIX.a.a"; 
char BeginString_FIX44b[8] = "FIX.b.b"; 

const char BeginString_FIX44c[] = "FIX.c.c"; 
char BeginString_FIX44d[] = "FIX.d.d"; 

const char* BeginString_FIX44e = "FIX.e.e"; 
const char* const BeginString_FIX44f = "FIX.f.f"; 

typedef char name[8];
typedef char namea[];

char* test_a(char hello[8],
	     char hi[],
	     const char chello[8],
	     const char chi[]) {
  return hi;
}

char* test_b(name a, const namea b)  {
  return a;
}

int test_a(int a)  {
  return a;
}

int test_b(int a)  {
  return a;
}
 
%}



#ifdef __cplusplus
%inline 
{

  struct Material
  {
  };

  enum {
    Size = 32
  };
  
  const Material * chitMat[Size];
  Material hitMat_val[Size];
  Material *hitMat[Size];
}

#endif