annotate d2/qtd/ArrayOpsPrimitive.d @ 357:9784459f0750

An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables Q_CLASSINFO implementation Now Qtd can be built on Windows
author Max Samukha <maxter@spambox.com>
date Wed, 02 Jun 2010 19:38:05 +0300
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 /**
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
2 Copyright: Copyright QtD Team, 2008-2010
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
3 License: Boost License 1.0
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
4 */
1
e78566595089 initial import
mandel
parents:
diff changeset
5
344
96a75b1e5b26 project structure changes
Max Samukha <maxter@spambox.com>
parents: 125
diff changeset
6 module qtd.ArrayOpsPrimitive;
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
7 import qtd.Core;
1
e78566595089 initial import
mandel
parents:
diff changeset
8
e78566595089 initial import
mandel
parents:
diff changeset
9 // int
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
10 mixin (qtdExport("void", "allocate_int_array", "int[]* arr, size_t len",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
11 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
12 *arr = new int[len];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
13 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
14
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
15 mixin (qtdExport("void", "assign_int_array_element", "int[]* arr, size_t pos, int elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
16 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
17 (*arr)[pos] = elem;
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
18 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
19
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
20 mixin (qtdExport("void", "get_int_from_array", "int* arr, size_t pos, int* elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
21 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
22 *elem = arr[pos];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
23 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
24
e78566595089 initial import
mandel
parents:
diff changeset
25 // uint
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
26 mixin (qtdExport("void", "allocate_uint_array", "int[]* arr, size_t len",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
27 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
28 *arr = new int[len];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
29 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
30
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
31 mixin (qtdExport("void", "assign_uint_array_element", "int[]* arr, size_t pos, uint elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
32 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
33 (*arr)[pos] = elem;
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
34 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
35
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
36 mixin (qtdExport("void", "get_uint_from_array", "uint* arr, size_t pos, uint* elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
37 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
38 *elem = arr[pos];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
39 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
40
e78566595089 initial import
mandel
parents:
diff changeset
41 // double
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
42 mixin (qtdExport("void", "allocate_double_array", "double[]* arr, size_t len",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
43 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
44 *arr = new double[len];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
45 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
46
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
47 mixin (qtdExport("void", "assign_double_array_element", "double[]* arr, size_t pos, double elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
48 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
49 (*arr)[pos] = elem;
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
50 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
51
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
52 mixin (qtdExport("void", "get_double_from_array", "double* arr, size_t pos, double* elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
53 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
54 *elem = arr[pos];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
55 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
56
e78566595089 initial import
mandel
parents:
diff changeset
57 // string
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
58 mixin (qtdExport("void", "allocate_string_array", "string[]* arr, size_t len",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
59 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
60 *arr = new string[len];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
61 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
62
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
63 mixin (qtdExport("void", "assign_string_array_element", "string[]* arr, size_t pos, string* elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
64 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
65 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
66
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
67 mixin (qtdExport("void*", "string_from_array", "string[]* arr, size_t pos",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
68 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
69 return &((*arr)[pos]);
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
70 }));
1
e78566595089 initial import
mandel
parents:
diff changeset
71
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
72 mixin (qtdExport("void", "get_string_from_array", "string* arr, size_t pos, string* elem",
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
73 q{
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
74 *elem = arr[pos];
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
75 }));
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 344
diff changeset
76