annotate d1/qtd/ArrayOpsPrimitive.d @ 414:b2a803c73b89 default tip

Declare tabArray const.
author David Nadlinger <code@klickverbot.at>
date Fri, 06 May 2011 13:39:49 +0200
parents 96a75b1e5b26
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /**
e78566595089 initial import
mandel
parents:
diff changeset
2 *
e78566595089 initial import
mandel
parents:
diff changeset
3 * Copyright: Copyright QtD Team, 2008-2009
e78566595089 initial import
mandel
parents:
diff changeset
4 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>
e78566595089 initial import
mandel
parents:
diff changeset
5 *
e78566595089 initial import
mandel
parents:
diff changeset
6 * Copyright QtD Team, 2008-2009
e78566595089 initial import
mandel
parents:
diff changeset
7 * Distributed under the Boost Software License, Version 1.0.
e78566595089 initial import
mandel
parents:
diff changeset
8 * (See accompanying file boost-license-1.0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
e78566595089 initial import
mandel
parents:
diff changeset
9 *
e78566595089 initial import
mandel
parents:
diff changeset
10 */
e78566595089 initial import
mandel
parents:
diff changeset
11
e78566595089 initial import
mandel
parents:
diff changeset
12 module qt.qtd.ArrayOpsPrimitive;
e78566595089 initial import
mandel
parents:
diff changeset
13
e78566595089 initial import
mandel
parents:
diff changeset
14 import qt.QGlobal;
e78566595089 initial import
mandel
parents:
diff changeset
15
e78566595089 initial import
mandel
parents:
diff changeset
16 // int
e78566595089 initial import
mandel
parents:
diff changeset
17 private extern(C) void qtd_allocate_int_array(int[]* arr, size_t len)
e78566595089 initial import
mandel
parents:
diff changeset
18 {
e78566595089 initial import
mandel
parents:
diff changeset
19 *arr = new int[len];
e78566595089 initial import
mandel
parents:
diff changeset
20 }
e78566595089 initial import
mandel
parents:
diff changeset
21
e78566595089 initial import
mandel
parents:
diff changeset
22 private extern(C) void qtd_assign_int_array_element(int[]* arr, size_t pos, int elem)
e78566595089 initial import
mandel
parents:
diff changeset
23 {
e78566595089 initial import
mandel
parents:
diff changeset
24 (*arr)[pos] = elem;
e78566595089 initial import
mandel
parents:
diff changeset
25 }
e78566595089 initial import
mandel
parents:
diff changeset
26
e78566595089 initial import
mandel
parents:
diff changeset
27 private extern(C) void qtd_get_int_from_array(int* arr, size_t pos, int* elem)
e78566595089 initial import
mandel
parents:
diff changeset
28 {
e78566595089 initial import
mandel
parents:
diff changeset
29 *elem = arr[pos];
e78566595089 initial import
mandel
parents:
diff changeset
30 }
e78566595089 initial import
mandel
parents:
diff changeset
31
e78566595089 initial import
mandel
parents:
diff changeset
32 // uint
e78566595089 initial import
mandel
parents:
diff changeset
33 private extern(C) void qtd_allocate_uint_array(int[]* arr, size_t len)
e78566595089 initial import
mandel
parents:
diff changeset
34 {
e78566595089 initial import
mandel
parents:
diff changeset
35 *arr = new int[len];
e78566595089 initial import
mandel
parents:
diff changeset
36 }
e78566595089 initial import
mandel
parents:
diff changeset
37
e78566595089 initial import
mandel
parents:
diff changeset
38 private extern(C) void qtd_assign_uint_array_element(int[]* arr, size_t pos, uint elem)
e78566595089 initial import
mandel
parents:
diff changeset
39 {
e78566595089 initial import
mandel
parents:
diff changeset
40 (*arr)[pos] = elem;
e78566595089 initial import
mandel
parents:
diff changeset
41 }
e78566595089 initial import
mandel
parents:
diff changeset
42
e78566595089 initial import
mandel
parents:
diff changeset
43 private extern(C) void qtd_get_uint_from_array(uint* arr, size_t pos, uint* elem)
e78566595089 initial import
mandel
parents:
diff changeset
44 {
e78566595089 initial import
mandel
parents:
diff changeset
45 *elem = arr[pos];
e78566595089 initial import
mandel
parents:
diff changeset
46 }
e78566595089 initial import
mandel
parents:
diff changeset
47
e78566595089 initial import
mandel
parents:
diff changeset
48 // double
e78566595089 initial import
mandel
parents:
diff changeset
49 private extern(C) void qtd_allocate_double_array(double[]* arr, size_t len)
e78566595089 initial import
mandel
parents:
diff changeset
50 {
e78566595089 initial import
mandel
parents:
diff changeset
51 *arr = new double[len];
e78566595089 initial import
mandel
parents:
diff changeset
52 }
e78566595089 initial import
mandel
parents:
diff changeset
53
e78566595089 initial import
mandel
parents:
diff changeset
54 private extern(C) void qtd_assign_double_array_element(double[]* arr, size_t pos, double elem)
e78566595089 initial import
mandel
parents:
diff changeset
55 {
e78566595089 initial import
mandel
parents:
diff changeset
56 (*arr)[pos] = elem;
e78566595089 initial import
mandel
parents:
diff changeset
57 }
e78566595089 initial import
mandel
parents:
diff changeset
58
e78566595089 initial import
mandel
parents:
diff changeset
59 private extern(C) void qtd_get_double_from_array(double* arr, size_t pos, double* elem)
e78566595089 initial import
mandel
parents:
diff changeset
60 {
e78566595089 initial import
mandel
parents:
diff changeset
61 *elem = arr[pos];
e78566595089 initial import
mandel
parents:
diff changeset
62 }
e78566595089 initial import
mandel
parents:
diff changeset
63
e78566595089 initial import
mandel
parents:
diff changeset
64 // string
e78566595089 initial import
mandel
parents:
diff changeset
65 private extern(C) void qtd_allocate_string_array(string[]* arr, size_t len)
e78566595089 initial import
mandel
parents:
diff changeset
66 {
e78566595089 initial import
mandel
parents:
diff changeset
67 *arr = new string[len];
e78566595089 initial import
mandel
parents:
diff changeset
68 }
e78566595089 initial import
mandel
parents:
diff changeset
69
e78566595089 initial import
mandel
parents:
diff changeset
70 private extern(C) void qtd_assign_string_array_element(string[]* arr, size_t pos, string* elem)
e78566595089 initial import
mandel
parents:
diff changeset
71 {
e78566595089 initial import
mandel
parents:
diff changeset
72 }
e78566595089 initial import
mandel
parents:
diff changeset
73
e78566595089 initial import
mandel
parents:
diff changeset
74 private extern(C) void* qtd_string_from_array(string[]* arr, size_t pos)
e78566595089 initial import
mandel
parents:
diff changeset
75 {
e78566595089 initial import
mandel
parents:
diff changeset
76 return &((*arr)[pos]);
e78566595089 initial import
mandel
parents:
diff changeset
77 }
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
78 /*
1
e78566595089 initial import
mandel
parents:
diff changeset
79 private extern(C) void qtd_get_string_from_array(string* arr, size_t pos, char** elem, size_t* elem_size)
e78566595089 initial import
mandel
parents:
diff changeset
80 {
e78566595089 initial import
mandel
parents:
diff changeset
81 *elem = arr[pos].ptr;
e78566595089 initial import
mandel
parents:
diff changeset
82 *elem_size = arr[pos].length;
e78566595089 initial import
mandel
parents:
diff changeset
83 }
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
84 */
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
85
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
86 private extern(C) void qtd_get_string_from_array(string* arr, size_t pos, string* elem)
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
87 {
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
88 *elem = arr[pos];
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
89 }
1
e78566595089 initial import
mandel
parents:
diff changeset
90
125
76e5e8597a83 fixes for ldc on windows
eldar
parents: 33
diff changeset
91 version(cpp_shared)
1
e78566595089 initial import
mandel
parents:
diff changeset
92 {
e78566595089 initial import
mandel
parents:
diff changeset
93 extern (C) void qtd_core_ArrayOps_initCallBacks(void* callbacks);
e78566595089 initial import
mandel
parents:
diff changeset
94
e78566595089 initial import
mandel
parents:
diff changeset
95 static this() {
e78566595089 initial import
mandel
parents:
diff changeset
96 void*[13] callbacks;
e78566595089 initial import
mandel
parents:
diff changeset
97
e78566595089 initial import
mandel
parents:
diff changeset
98 callbacks[0] = &qtd_allocate_int_array;
e78566595089 initial import
mandel
parents:
diff changeset
99 callbacks[1] = &qtd_assign_int_array_element;
e78566595089 initial import
mandel
parents:
diff changeset
100 callbacks[2] = &qtd_get_int_from_array;
e78566595089 initial import
mandel
parents:
diff changeset
101
e78566595089 initial import
mandel
parents:
diff changeset
102 callbacks[3] = &qtd_allocate_uint_array;
e78566595089 initial import
mandel
parents:
diff changeset
103 callbacks[4] = &qtd_assign_uint_array_element;
e78566595089 initial import
mandel
parents:
diff changeset
104 callbacks[5] = &qtd_get_uint_from_array;
e78566595089 initial import
mandel
parents:
diff changeset
105
e78566595089 initial import
mandel
parents:
diff changeset
106 callbacks[6] = &qtd_allocate_double_array;
e78566595089 initial import
mandel
parents:
diff changeset
107 callbacks[7] = &qtd_assign_double_array_element;
e78566595089 initial import
mandel
parents:
diff changeset
108 callbacks[8] = &qtd_get_double_from_array;
e78566595089 initial import
mandel
parents:
diff changeset
109
e78566595089 initial import
mandel
parents:
diff changeset
110 callbacks[9] = &qtd_allocate_string_array;
e78566595089 initial import
mandel
parents:
diff changeset
111 callbacks[10] = &qtd_assign_string_array_element;
e78566595089 initial import
mandel
parents:
diff changeset
112 callbacks[11] = &qtd_string_from_array;
e78566595089 initial import
mandel
parents:
diff changeset
113 callbacks[12] = &qtd_get_string_from_array;
e78566595089 initial import
mandel
parents:
diff changeset
114
e78566595089 initial import
mandel
parents:
diff changeset
115 qtd_core_ArrayOps_initCallBacks(callbacks.ptr);
e78566595089 initial import
mandel
parents:
diff changeset
116 }
e78566595089 initial import
mandel
parents:
diff changeset
117 }