summaryrefslogtreecommitdiff
path: root/Examples/test-suite/array_member.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/array_member.i')
-rw-r--r--Examples/test-suite/array_member.i74
1 files changed, 74 insertions, 0 deletions
diff --git a/Examples/test-suite/array_member.i b/Examples/test-suite/array_member.i
new file mode 100644
index 0000000..d8e2f87
--- /dev/null
+++ b/Examples/test-suite/array_member.i
@@ -0,0 +1,74 @@
+%module array_member
+
+%inline %{
+
+typedef struct Foo {
+ char text[8];
+ int data[8];
+} Foo;
+
+int global_data[8] = { 0,1,2,3,4,5,6,7 };
+
+void set_value(int *x, int i, int v) {
+ x[i] = v;
+}
+
+int get_value(int *x, int i) {
+ return x[i];
+}
+%}
+
+
+
+
+
+
+#ifdef __cplusplus
+%inline
+{
+
+ struct Material
+ {
+ };
+
+ class RayPacketData {
+ public:
+ enum {
+ Size = 32
+ };
+
+ const Material * chitMat[Size];
+ Material hitMat_val[Size];
+ Material *hitMat[Size];
+
+ const Material * chitMat2[Size][Size];
+ Material hitMat_val2[Size][Size];
+ Material *hitMat2[Size][Size];
+ };
+}
+
+#endif
+
+
+
+%inline %{
+#define BUFF_LEN 12
+
+typedef unsigned char BUFF[BUFF_LEN];
+
+typedef BUFF MY_BUFF;
+
+typedef struct _m {
+ int i;
+ MY_BUFF x;
+} MyBuff;
+
+
+typedef char SBUFF[BUFF_LEN];
+typedef SBUFF MY_SBUFF;
+typedef struct _sm {
+ int i;
+ MY_SBUFF x;
+} MySBuff;
+
+%}