dub 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dub might be problematic. Click here for more details.
- data/History.txt +9 -0
- data/dub.gemspec +3 -2
- data/lib/dub/argument.rb +43 -35
- data/lib/dub/function.rb +50 -2
- data/lib/dub/function_group.rb +6 -8
- data/lib/dub/group.rb +14 -0
- data/lib/dub/klass.rb +2 -2
- data/lib/dub/lua/class.cpp.erb +7 -3
- data/lib/dub/lua/class_gen.rb +15 -7
- data/lib/dub/lua/function_gen.rb +31 -11
- data/lib/dub/lua/group.cpp.erb +1 -2
- data/lib/dub/lua/namespace_gen.rb +4 -2
- data/lib/dub/member_extraction.rb +9 -5
- data/lib/dub/namespace.rb +3 -2
- data/lib/dub/version.rb +1 -1
- data/test/argument_test.rb +107 -4
- data/test/fixtures/app/include/matrix.h +14 -1
- data/test/fixtures/app/xml/classdub_1_1_matrix.xml +28 -4
- data/test/fixtures/app/xml/classdub_1_1_t_mat.xml +14 -14
- data/test/fixtures/app/xml/index.xml +1 -0
- data/test/fixtures/app/xml/matrix_8h.xml +59 -55
- data/test/fixtures/app/xml/namespacedub.xml +2 -2
- data/test/fixtures/classcv_1_1_scalar__.xml +269 -0
- data/test/function_group_test.rb +13 -4
- data/test/function_test.rb +128 -1
- data/test/klass_test.rb +77 -2
- metadata +3 -2
data/test/argument_test.rb
CHANGED
@@ -2,6 +2,53 @@ require 'helper'
|
|
2
2
|
require 'dub/lua'
|
3
3
|
|
4
4
|
class ArgumentTest < Test::Unit::TestCase
|
5
|
+
context 'An Argument' do
|
6
|
+
context 'parsing types' do
|
7
|
+
{
|
8
|
+
"CV_EXPORT const Foo" => ["CV_EXPORT ", "const ", "Foo", "", nil, ""],
|
9
|
+
"CV_EXPORT const Foo<blah, blah>" => ["CV_EXPORT ", "const ", "Foo", "", nil, ""],
|
10
|
+
"CV_EXPORT Foo" => ["CV_EXPORT ", "" , "Foo", "", nil, ""],
|
11
|
+
"const Foo" => ["const " , "" , "Foo", "", nil, ""],
|
12
|
+
"Foo" => ["" , "" , "Foo", "", nil, ""],
|
13
|
+
"CV_EXPORT const Foo &" => ["CV_EXPORT ", "const ", "Foo", "", nil, " &"],
|
14
|
+
"CV_EXPORT const Foo&" => ["CV_EXPORT ", "const ", "Foo", "", nil, "&"],
|
15
|
+
"CV_EXPORT Foo &" => ["CV_EXPORT ", "" , "Foo", "", nil, " &"],
|
16
|
+
"const Foo &" => ["const " , "" , "Foo", "", nil, " &"],
|
17
|
+
"Foo &" => ["" , "" , "Foo", "", nil, " &"],
|
18
|
+
"CV_EXPORT const Foo *" => ["CV_EXPORT ", "const ", "Foo", "", nil, " *"],
|
19
|
+
"CV_EXPORT const Foo*" => ["CV_EXPORT ", "const ", "Foo", "", nil, "*"],
|
20
|
+
"CV_EXPORT Foo *" => ["CV_EXPORT ", "" , "Foo", "", nil, " *"],
|
21
|
+
"const Foo *" => ["const " , "" , "Foo", "", nil, " *"],
|
22
|
+
"Foo *" => ["" , "" , "Foo", "", nil, " *"],
|
23
|
+
"void *" => ["" , "" , "void","", nil, " *"],
|
24
|
+
"..." => ["" , "" , "...", "", nil, ""],
|
25
|
+
|
26
|
+
"CV_EXPORT const Foo < blah, blah >" => ["CV_EXPORT ", "const ", "Foo", " < blah, blah >", " blah, blah ", ""],
|
27
|
+
"CV_EXPORT const Foo<blah, blah>" => ["CV_EXPORT ", "const ", "Foo", "<blah, blah>" , "blah, blah" , ""],
|
28
|
+
"CV_EXPORT Foo < blah, blah >" => ["CV_EXPORT ", "" , "Foo", " < blah, blah >", " blah, blah ", ""],
|
29
|
+
"const Foo < blah, blah >" => ["const " , "" , "Foo", " < blah, blah >", " blah, blah ", ""],
|
30
|
+
"CV_EXPORT const Foo < blah, blah > &" => ["CV_EXPORT ", "const ", "Foo", " < blah, blah >", " blah, blah ", " &"],
|
31
|
+
"CV_EXPORT const Foo<blah, blah> &" => ["CV_EXPORT ", "const ", "Foo", "<blah, blah>" , "blah, blah" , " &"],
|
32
|
+
"CV_EXPORT Foo < blah, blah > &" => ["CV_EXPORT ", "" , "Foo", " < blah, blah >", " blah, blah ", " &"],
|
33
|
+
"const Foo < blah, blah > &" => ["const " , "" , "Foo", " < blah, blah >", " blah, blah ", " &"],
|
34
|
+
"Foo < blah, blah > &" => ["" , "" , "Foo", " < blah, blah >", " blah, blah ", " &"],
|
35
|
+
"CV_EXPORT const Foo < blah, blah > *" => ["CV_EXPORT ", "const ", "Foo", " < blah, blah >", " blah, blah ", " *"],
|
36
|
+
"CV_EXPORT const Foo<blah, blah> *" => ["CV_EXPORT ", "const ", "Foo", "<blah, blah>" , "blah, blah" , " *"],
|
37
|
+
"CV_EXPORT Foo < blah, blah > *" => ["CV_EXPORT ", "" , "Foo", " < blah, blah >", " blah, blah ", " *"],
|
38
|
+
"const Foo < blah, blah > *" => ["const " , "" , "Foo", " < blah, blah >", " blah, blah ", " *"],
|
39
|
+
"Foo < blah, blah > *" => ["" , "" , "Foo", " < blah, blah >", " blah, blah ", " *"],
|
40
|
+
|
41
|
+
"MatExpr_<MatExpr_Op2_<Mat, int, Mat, MatOp_Inv_<Mat> >, Mat>" =>
|
42
|
+
["" ,"" ,"MatExpr_","<MatExpr_Op2_<Mat, int, Mat, MatOp_Inv_<Mat> >, Mat>","MatExpr_Op2_<Mat, int, Mat, MatOp_Inv_<Mat> >, Mat", ""],
|
43
|
+
}.each do |type, result|
|
44
|
+
should "parse #{type}" do
|
45
|
+
type =~ Dub::Argument::TYPE_REGEXP
|
46
|
+
assert_equal result, $~.to_a[1..-1]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
5
52
|
context 'An const ref argument' do
|
6
53
|
setup do
|
7
54
|
# namespacecv_xml = Dub.parse(fixture('namespacecv.xml'))
|
@@ -165,22 +212,22 @@ class ArgumentTest < Test::Unit::TestCase
|
|
165
212
|
assert_equal 'arg_magnitude', @argument.name
|
166
213
|
end
|
167
214
|
end
|
168
|
-
|
215
|
+
|
169
216
|
context 'An argument with a type from another namespace' do
|
170
217
|
setup do
|
171
218
|
@function = namespacedub_xml[:dub][:Matrix][:use_other_lib]
|
172
219
|
@argument = @function.arguments.first
|
173
220
|
end
|
174
|
-
|
221
|
+
|
175
222
|
should 'not nest own namespace in id_name' do
|
176
223
|
assert_equal "std.string", @argument.id_name
|
177
224
|
end
|
178
|
-
|
225
|
+
|
179
226
|
context 'bound to a generator' do
|
180
227
|
setup do
|
181
228
|
Dub::Lua.bind(@function)
|
182
229
|
end
|
183
|
-
|
230
|
+
|
184
231
|
should 'not nest own namespace in type' do
|
185
232
|
assert_match %r{luaL_checkudata\(L,\s*1,\s*\"std\.string\"}, @function.to_s
|
186
233
|
end
|
@@ -441,4 +488,60 @@ class ArgumentTest < Test::Unit::TestCase
|
|
441
488
|
assert_equal 'const int *', @argument.create_type
|
442
489
|
end
|
443
490
|
end
|
491
|
+
|
492
|
+
context 'In a class defined from a template' do
|
493
|
+
setup do
|
494
|
+
@class = namespacecv_xml[:cv][:Scalar]
|
495
|
+
end
|
496
|
+
|
497
|
+
context 'an argument in a constructor' do
|
498
|
+
setup do
|
499
|
+
@argument = @class[:Scalar][3].arguments.first
|
500
|
+
end
|
501
|
+
|
502
|
+
should 'replace template params' do
|
503
|
+
assert_equal 'double', @argument.type
|
504
|
+
end
|
505
|
+
|
506
|
+
should 'not be marked as complex if template params are replaced' do
|
507
|
+
assert !@argument.complex?
|
508
|
+
end
|
509
|
+
end
|
510
|
+
|
511
|
+
context 'a return value' do
|
512
|
+
setup do
|
513
|
+
@argument = @class[:all].return_value
|
514
|
+
end
|
515
|
+
|
516
|
+
should 'replace template params and resolve' do
|
517
|
+
assert_equal 'Scalar', @argument.type
|
518
|
+
end
|
519
|
+
end
|
520
|
+
end
|
521
|
+
|
522
|
+
context 'An argument with template params' do
|
523
|
+
setup do
|
524
|
+
@method = namespacecv_xml[:cv][:Mat][:inv]
|
525
|
+
@argument = @method.return_value
|
526
|
+
end
|
527
|
+
|
528
|
+
should 'know it is a complexe type' do
|
529
|
+
assert @argument.complex?
|
530
|
+
end
|
531
|
+
|
532
|
+
should 'mark the method as having complexe arguments' do
|
533
|
+
assert @method.has_complex_arguments?
|
534
|
+
end
|
535
|
+
end
|
536
|
+
|
537
|
+
context 'An argument with resolved template params' do
|
538
|
+
setup do
|
539
|
+
@method = namespacecv_xml[:cv][:Scalar][:mul]
|
540
|
+
@argument = @method.return_value
|
541
|
+
end
|
542
|
+
|
543
|
+
should 'not be marked as a complexe type' do
|
544
|
+
assert !@argument.complex?
|
545
|
+
end
|
546
|
+
end
|
444
547
|
end
|
@@ -61,6 +61,12 @@ public:
|
|
61
61
|
// dummy
|
62
62
|
}
|
63
63
|
|
64
|
+
/** Named constructor.
|
65
|
+
*/
|
66
|
+
static Matrix *MakeMatrix(int rows, int cols) {
|
67
|
+
return new Matrix(rows, cols);
|
68
|
+
}
|
69
|
+
|
64
70
|
private:
|
65
71
|
double *data_;
|
66
72
|
size_t rows_;
|
@@ -86,6 +92,13 @@ public:
|
|
86
92
|
if (data_) free(data_);
|
87
93
|
}
|
88
94
|
|
95
|
+
/** Dummy template based class method.
|
96
|
+
*/
|
97
|
+
template<class T2>
|
98
|
+
T2 *give_me_tea() {
|
99
|
+
return new T2();
|
100
|
+
}
|
101
|
+
|
89
102
|
/** Return size of matrix (rows * cols). */
|
90
103
|
size_t size() {
|
91
104
|
return rows_ * cols_;
|
@@ -103,7 +116,7 @@ public:
|
|
103
116
|
// dummy
|
104
117
|
}
|
105
118
|
|
106
|
-
FunkyThing(double v[7]) {
|
119
|
+
void FunkyThing(double v[7]) {
|
107
120
|
|
108
121
|
}
|
109
122
|
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</detaileddescription>
|
15
15
|
<inbodydescription>
|
16
16
|
</inbodydescription>
|
17
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
17
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="71" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="71" bodyend="-1"/>
|
18
18
|
</memberdef>
|
19
19
|
<memberdef kind="variable" id="classdub_1_1_matrix_1afbb3dac9aac8db0e6feffb8c61954065" prot="private" static="no" mutable="no">
|
20
20
|
<type>size_t</type>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
</detaileddescription>
|
28
28
|
<inbodydescription>
|
29
29
|
</inbodydescription>
|
30
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
30
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="72" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="72" bodyend="-1"/>
|
31
31
|
</memberdef>
|
32
32
|
<memberdef kind="variable" id="classdub_1_1_matrix_1a9820706da6cb36cf14dfefbb4eabc92d" prot="private" static="no" mutable="no">
|
33
33
|
<type>size_t</type>
|
@@ -40,7 +40,7 @@
|
|
40
40
|
</detaileddescription>
|
41
41
|
<inbodydescription>
|
42
42
|
</inbodydescription>
|
43
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
43
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="73" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="73" bodyend="-1"/>
|
44
44
|
</memberdef>
|
45
45
|
</sectiondef>
|
46
46
|
<sectiondef kind="public-func">
|
@@ -231,17 +231,41 @@
|
|
231
231
|
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="60" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="60" bodyend="62"/>
|
232
232
|
</memberdef>
|
233
233
|
</sectiondef>
|
234
|
+
<sectiondef kind="public-static-func">
|
235
|
+
<memberdef kind="function" id="classdub_1_1_matrix_1ad21255c4a1457c9969b6092ee40e0870" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
|
236
|
+
<type><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref> *</type>
|
237
|
+
<definition>static Matrix* dub::Matrix::MakeMatrix</definition>
|
238
|
+
<argsstring>(int rows, int cols)</argsstring>
|
239
|
+
<name>MakeMatrix</name>
|
240
|
+
<param>
|
241
|
+
<type>int</type>
|
242
|
+
<declname>rows</declname>
|
243
|
+
</param>
|
244
|
+
<param>
|
245
|
+
<type>int</type>
|
246
|
+
<declname>cols</declname>
|
247
|
+
</param>
|
248
|
+
<briefdescription>
|
249
|
+
</briefdescription>
|
250
|
+
<detaileddescription>
|
251
|
+
<para>Named constructor. </para> </detaileddescription>
|
252
|
+
<inbodydescription>
|
253
|
+
</inbodydescription>
|
254
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="66" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="66" bodyend="68"/>
|
255
|
+
</memberdef>
|
256
|
+
</sectiondef>
|
234
257
|
<briefdescription>
|
235
258
|
</briefdescription>
|
236
259
|
<detaileddescription>
|
237
260
|
</detaileddescription>
|
238
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="12" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="12" bodyend="
|
261
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="12" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="12" bodyend="74"/>
|
239
262
|
<listofallmembers>
|
240
263
|
<member refid="classdub_1_1_matrix_1ac13eec5120f1be537122fc2b9a35d12e" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>cols</name></member>
|
241
264
|
<member refid="classdub_1_1_matrix_1a9820706da6cb36cf14dfefbb4eabc92d" prot="private" virt="non-virtual"><scope>dub::Matrix</scope><name>cols_</name></member>
|
242
265
|
<member refid="classdub_1_1_matrix_1a134af4a94d273c34cc99e7645fb97917" prot="private" virt="non-virtual"><scope>dub::Matrix</scope><name>data_</name></member>
|
243
266
|
<member refid="classdub_1_1_matrix_1a5bf5b5aee77c4e4a4cf906ce785fe37b" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>do_something</name></member>
|
244
267
|
<member refid="classdub_1_1_matrix_1a7a47bc085de140093ba358d345d58df7" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>give_me_tea</name></member>
|
268
|
+
<member refid="classdub_1_1_matrix_1ad21255c4a1457c9969b6092ee40e0870" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>MakeMatrix</name></member>
|
245
269
|
<member refid="classdub_1_1_matrix_1a2d7bfdf38d81c5ec81dff23030d2b569" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>Matrix</name></member>
|
246
270
|
<member refid="classdub_1_1_matrix_1a87d276a9bfb52dbe228a19c2eae63b4b" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>Matrix</name></member>
|
247
271
|
<member refid="classdub_1_1_matrix_1ac159906fa5480fdc9539a7be1e1825ed" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>mul</name></member>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
</detaileddescription>
|
20
20
|
<inbodydescription>
|
21
21
|
</inbodydescription>
|
22
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
22
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="121" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="121" bodyend="-1"/>
|
23
23
|
</memberdef>
|
24
24
|
<memberdef kind="variable" id="classdub_1_1_t_mat_1af4189290104841dd5a9a6f02bf83a7d8" prot="private" static="no" mutable="no">
|
25
25
|
<type>size_t</type>
|
@@ -32,7 +32,7 @@
|
|
32
32
|
</detaileddescription>
|
33
33
|
<inbodydescription>
|
34
34
|
</inbodydescription>
|
35
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
35
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="122" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="122" bodyend="-1"/>
|
36
36
|
</memberdef>
|
37
37
|
<memberdef kind="variable" id="classdub_1_1_t_mat_1ae61dde1ed3a5f0a50cedef0fdbc79a06" prot="private" static="no" mutable="no">
|
38
38
|
<type>size_t</type>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
</detaileddescription>
|
46
46
|
<inbodydescription>
|
47
47
|
</inbodydescription>
|
48
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
48
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="123" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="123" bodyend="-1"/>
|
49
49
|
</memberdef>
|
50
50
|
</sectiondef>
|
51
51
|
<sectiondef kind="public-func">
|
@@ -60,7 +60,7 @@
|
|
60
60
|
</detaileddescription>
|
61
61
|
<inbodydescription>
|
62
62
|
</inbodydescription>
|
63
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
63
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="80" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="80" bodyend="80"/>
|
64
64
|
</memberdef>
|
65
65
|
<memberdef kind="function" id="classdub_1_1_t_mat_1afdc6150359c9b1914cd5af9e273757be" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
66
66
|
<type></type>
|
@@ -81,7 +81,7 @@
|
|
81
81
|
</detaileddescription>
|
82
82
|
<inbodydescription>
|
83
83
|
</inbodydescription>
|
84
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
84
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="82" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="82" bodyend="84"/>
|
85
85
|
</memberdef>
|
86
86
|
<memberdef kind="function" id="classdub_1_1_t_mat_1ad6fe3f080e15ae4f7cf0b55abc64469e" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
87
87
|
<type></type>
|
@@ -98,7 +98,7 @@
|
|
98
98
|
</detaileddescription>
|
99
99
|
<inbodydescription>
|
100
100
|
</inbodydescription>
|
101
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
101
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="87" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="87" bodyend="89"/>
|
102
102
|
</memberdef>
|
103
103
|
<memberdef kind="function" id="classdub_1_1_t_mat_1aa2f979b486bd17cf3a840976983d7ebb" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
104
104
|
<type></type>
|
@@ -111,7 +111,7 @@
|
|
111
111
|
</detaileddescription>
|
112
112
|
<inbodydescription>
|
113
113
|
</inbodydescription>
|
114
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
114
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="91" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="91" bodyend="93"/>
|
115
115
|
</memberdef>
|
116
116
|
<memberdef kind="function" id="classdub_1_1_t_mat_1affa049645f25277333d2d000051c762f" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
117
117
|
<type>size_t</type>
|
@@ -124,7 +124,7 @@
|
|
124
124
|
<para>Return size of matrix (rows * cols). </para> </detaileddescription>
|
125
125
|
<inbodydescription>
|
126
126
|
</inbodydescription>
|
127
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
127
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="96" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="96" bodyend="98"/>
|
128
128
|
</memberdef>
|
129
129
|
<memberdef kind="function" id="classdub_1_1_t_mat_1a1fac3175ad4602f3212c08e41f4383bb" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
130
130
|
<type>size_t</type>
|
@@ -137,7 +137,7 @@
|
|
137
137
|
</detaileddescription>
|
138
138
|
<inbodydescription>
|
139
139
|
</inbodydescription>
|
140
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
140
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="100" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="100" bodyend="102"/>
|
141
141
|
</memberdef>
|
142
142
|
<memberdef kind="function" id="classdub_1_1_t_mat_1ac66d2c59eba113fd4416c24460b04582" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
143
143
|
<type>size_t</type>
|
@@ -150,7 +150,7 @@
|
|
150
150
|
</detaileddescription>
|
151
151
|
<inbodydescription>
|
152
152
|
</inbodydescription>
|
153
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
153
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="104" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="104" bodyend="106"/>
|
154
154
|
</memberdef>
|
155
155
|
<memberdef kind="function" id="classdub_1_1_t_mat_1a2a28668935a895001309f6ab05922a9c" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
156
156
|
<type>void</type>
|
@@ -167,7 +167,7 @@
|
|
167
167
|
</detaileddescription>
|
168
168
|
<inbodydescription>
|
169
169
|
</inbodydescription>
|
170
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
170
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="108" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="108" bodyend="110"/>
|
171
171
|
</memberdef>
|
172
172
|
<memberdef kind="function" id="classdub_1_1_t_mat_1a9051bdd635c65f18aa3938caa4f5b106" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
173
173
|
<type></type>
|
@@ -185,7 +185,7 @@
|
|
185
185
|
</detaileddescription>
|
186
186
|
<inbodydescription>
|
187
187
|
</inbodydescription>
|
188
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
188
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="112" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="112" bodyend="114"/>
|
189
189
|
</memberdef>
|
190
190
|
<memberdef kind="function" id="classdub_1_1_t_mat_1ad5daa1d61af70c79402f4cb3acd770b3" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
|
191
191
|
<type>T</type>
|
@@ -206,14 +206,14 @@
|
|
206
206
|
</detaileddescription>
|
207
207
|
<inbodydescription>
|
208
208
|
</inbodydescription>
|
209
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
209
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="116" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="116" bodyend="118"/>
|
210
210
|
</memberdef>
|
211
211
|
</sectiondef>
|
212
212
|
<briefdescription>
|
213
213
|
</briefdescription>
|
214
214
|
<detaileddescription>
|
215
215
|
</detaileddescription>
|
216
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
216
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="78" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="78" bodyend="124"/>
|
217
217
|
<listofallmembers>
|
218
218
|
<member refid="classdub_1_1_t_mat_1a1fac3175ad4602f3212c08e41f4383bb" prot="public" virt="non-virtual"><scope>dub::TMat</scope><name>cols</name></member>
|
219
219
|
<member refid="classdub_1_1_t_mat_1ae61dde1ed3a5f0a50cedef0fdbc79a06" prot="private" virt="non-virtual"><scope>dub::TMat</scope><name>cols_</name></member>
|
@@ -16,6 +16,7 @@
|
|
16
16
|
<member refid="classdub_1_1_matrix_1a5bf5b5aee77c4e4a4cf906ce785fe37b" kind="function"><name>do_something</name></member>
|
17
17
|
<member refid="classdub_1_1_matrix_1a5d8ae4699d499cb9e4292c2ff765d3a1" kind="function"><name>use_other_lib</name></member>
|
18
18
|
<member refid="classdub_1_1_matrix_1a90798c27b8b4017a939f804481eb50ad" kind="function"><name>ptr</name></member>
|
19
|
+
<member refid="classdub_1_1_matrix_1ad21255c4a1457c9969b6092ee40e0870" kind="function"><name>MakeMatrix</name></member>
|
19
20
|
</compound>
|
20
21
|
<compound refid="classdub_1_1_t_mat" kind="class"><name>dub::TMat</name>
|
21
22
|
<member refid="classdub_1_1_t_mat_1a325c9dcebf13b0804997d014e7287606" kind="variable"><name>data_</name></member>
|
@@ -86,67 +86,71 @@
|
|
86
86
|
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
87
87
|
<codeline lineno="62"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
88
88
|
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
|
89
|
-
<codeline lineno="
|
90
|
-
<codeline lineno="
|
91
|
-
<codeline lineno="
|
92
|
-
<codeline lineno="67"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
93
|
-
<codeline lineno="68"><highlight class="normal">};</highlight></codeline>
|
89
|
+
<codeline lineno="66" refid="classdub_1_1_matrix_1ad21255c4a1457c9969b6092ee40e0870" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref><sp/>*<ref refid="classdub_1_1_matrix_1ad21255c4a1457c9969b6092ee40e0870" kindref="member">MakeMatrix</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rows,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>cols)<sp/>{</highlight></codeline>
|
90
|
+
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref>(rows,<sp/>cols);</highlight></codeline>
|
91
|
+
<codeline lineno="68"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
94
92
|
<codeline lineno="69"><highlight class="normal"></highlight></codeline>
|
95
|
-
<codeline lineno="70"><highlight class="normal"></highlight></codeline>
|
96
|
-
<codeline lineno="71"><highlight class="normal"
|
97
|
-
<codeline lineno="72"
|
98
|
-
<codeline lineno="73"><highlight class="normal"
|
99
|
-
<codeline lineno="74"><highlight class="normal"
|
93
|
+
<codeline lineno="70"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
94
|
+
<codeline lineno="71"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*data_;</highlight></codeline>
|
95
|
+
<codeline lineno="72"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
96
|
+
<codeline lineno="73"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
97
|
+
<codeline lineno="74"><highlight class="normal">};</highlight></codeline>
|
100
98
|
<codeline lineno="75"><highlight class="normal"></highlight></codeline>
|
101
|
-
<codeline lineno="76"><highlight class="normal"
|
102
|
-
<codeline lineno="77"><highlight class="normal"><
|
103
|
-
<codeline lineno="78"><highlight class="normal"><sp
|
104
|
-
<codeline lineno="79"><highlight class="normal"></highlight></codeline>
|
105
|
-
<codeline lineno="80"><highlight class="normal"><sp/><sp
|
106
|
-
<codeline lineno="81"><highlight class="normal"
|
107
|
-
<codeline lineno="82"><highlight class="normal"
|
108
|
-
<codeline lineno="83"><highlight class="normal"><sp/><sp/>
|
109
|
-
<codeline lineno="84"><highlight class="normal"
|
110
|
-
<codeline lineno="85"><highlight class="normal"
|
111
|
-
<codeline lineno="86"><highlight class="normal"><sp/><sp
|
112
|
-
<codeline lineno="87"><highlight class="normal"><sp/><sp/>
|
99
|
+
<codeline lineno="76"><highlight class="normal"></highlight></codeline>
|
100
|
+
<codeline lineno="77"><highlight class="normal"></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
101
|
+
<codeline lineno="78" refid="classdub_1_1_t_mat" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref><sp/>{</highlight></codeline>
|
102
|
+
<codeline lineno="79"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
103
|
+
<codeline lineno="80"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>()<sp/>:<sp/>data_(NULL),<sp/>rows_(0),<sp/>cols_(0)<sp/>{}</highlight></codeline>
|
104
|
+
<codeline lineno="81"><highlight class="normal"></highlight></codeline>
|
105
|
+
<codeline lineno="82"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rows,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>cols)<sp/>:<sp/>rows_(rows),<sp/>cols_(cols)<sp/>{</highlight></codeline>
|
106
|
+
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/>data_<sp/>=<sp/>(T*)malloc(<ref refid="classdub_1_1_t_mat_1affa049645f25277333d2d000051c762f" kindref="member">size</ref>()<sp/>*<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(T));</highlight></codeline>
|
107
|
+
<codeline lineno="84"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
108
|
+
<codeline lineno="85"><highlight class="normal"></highlight></codeline>
|
109
|
+
<codeline lineno="86"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>test<sp/>constructor<sp/>with<sp/>T<sp/>parameter</highlight><highlight class="normal"></highlight></codeline>
|
110
|
+
<codeline lineno="87"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>(T<sp/>dummy)<sp/>{</highlight></codeline>
|
113
111
|
<codeline lineno="88"><highlight class="normal"></highlight></codeline>
|
114
|
-
<codeline lineno="
|
115
|
-
<codeline lineno="
|
116
|
-
<codeline lineno="
|
117
|
-
<codeline lineno="
|
118
|
-
<codeline lineno="
|
119
|
-
<codeline lineno="
|
120
|
-
<codeline lineno="96"><highlight class="normal"><sp/><sp/>
|
121
|
-
<codeline lineno="97"><highlight class="normal"
|
122
|
-
<codeline lineno="98"><highlight class="normal"><sp/><sp
|
123
|
-
<codeline lineno="99"><highlight class="normal"
|
124
|
-
<codeline lineno="100"><highlight class="normal"><sp/><sp/>
|
125
|
-
<codeline lineno="101"><highlight class="normal"
|
126
|
-
<codeline lineno="102"><highlight class="normal"><sp/><sp
|
127
|
-
<codeline lineno="103"><highlight class="normal"
|
128
|
-
<codeline lineno="104"><highlight class="normal"><sp/><sp/>
|
129
|
-
<codeline lineno="105"><highlight class="normal"
|
130
|
-
<codeline lineno="106"><highlight class="normal"><sp/><sp/>
|
112
|
+
<codeline lineno="89"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
113
|
+
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
|
114
|
+
<codeline lineno="91"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>()<sp/>{</highlight></codeline>
|
115
|
+
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(data_)<sp/>free(data_);</highlight></codeline>
|
116
|
+
<codeline lineno="93"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
117
|
+
<codeline lineno="94"><highlight class="normal"></highlight></codeline>
|
118
|
+
<codeline lineno="96" refid="classdub_1_1_t_mat_1affa049645f25277333d2d000051c762f" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_t_mat_1affa049645f25277333d2d000051c762f" kindref="member">size</ref>()<sp/>{</highlight></codeline>
|
119
|
+
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rows_<sp/>*<sp/>cols_;</highlight></codeline>
|
120
|
+
<codeline lineno="98"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
121
|
+
<codeline lineno="99"><highlight class="normal"></highlight></codeline>
|
122
|
+
<codeline lineno="100"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols()<sp/>{</highlight></codeline>
|
123
|
+
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
124
|
+
<codeline lineno="102"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
125
|
+
<codeline lineno="103"><highlight class="normal"></highlight></codeline>
|
126
|
+
<codeline lineno="104"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>rows()<sp/>{</highlight></codeline>
|
127
|
+
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
128
|
+
<codeline lineno="106"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
131
129
|
<codeline lineno="107"><highlight class="normal"></highlight></codeline>
|
132
|
-
<codeline lineno="108"><highlight class="normal"><sp/><sp/>
|
133
|
-
<codeline lineno="109"><highlight class="normal"></highlight></codeline>
|
134
|
-
<codeline lineno="110"><highlight class="normal"><sp/><sp/>
|
135
|
-
<codeline lineno="111"><highlight class="normal"
|
136
|
-
<codeline lineno="112"><highlight class="normal"><sp/><sp/>
|
130
|
+
<codeline lineno="108"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>fill(T<sp/>value)<sp/>{</highlight></codeline>
|
131
|
+
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
132
|
+
<codeline lineno="110"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
133
|
+
<codeline lineno="111"><highlight class="normal"></highlight></codeline>
|
134
|
+
<codeline lineno="112"><highlight class="normal"><sp/><sp/>FunkyThing(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>v[7])<sp/>{</highlight></codeline>
|
137
135
|
<codeline lineno="113"><highlight class="normal"></highlight></codeline>
|
138
|
-
<codeline lineno="114"><highlight class="normal"
|
139
|
-
<codeline lineno="115"><highlight class="normal"
|
140
|
-
<codeline lineno="116"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>
|
141
|
-
<codeline lineno="117"><highlight class="normal"><sp/><sp/></highlight><highlight class="
|
142
|
-
<codeline lineno="118"><highlight class="normal"
|
136
|
+
<codeline lineno="114"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
137
|
+
<codeline lineno="115"><highlight class="normal"></highlight></codeline>
|
138
|
+
<codeline lineno="116"><highlight class="normal"><sp/><sp/>T<sp/></highlight><highlight class="keyword">get</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>row,<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>col)<sp/>{</highlight></codeline>
|
139
|
+
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>data_[row<sp/>*<sp/>cols_<sp/>+<sp/>col];</highlight></codeline>
|
140
|
+
<codeline lineno="118"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
143
141
|
<codeline lineno="119"><highlight class="normal"></highlight></codeline>
|
144
|
-
<codeline lineno="
|
145
|
-
<codeline lineno="
|
146
|
-
<codeline lineno="
|
147
|
-
<codeline lineno="
|
148
|
-
<codeline lineno="
|
149
|
-
<codeline lineno="
|
142
|
+
<codeline lineno="120"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
143
|
+
<codeline lineno="121"><highlight class="normal"><sp/><sp/>T<sp/>*data_;</highlight></codeline>
|
144
|
+
<codeline lineno="122"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
145
|
+
<codeline lineno="123"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
146
|
+
<codeline lineno="124"><highlight class="normal">};</highlight></codeline>
|
147
|
+
<codeline lineno="125"><highlight class="normal"></highlight></codeline>
|
148
|
+
<codeline lineno="128"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/>TMat<float><sp/>FloatMat;</highlight></codeline>
|
149
|
+
<codeline lineno="129"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/>FloatMat<sp/>FMatrix;</highlight></codeline>
|
150
|
+
<codeline lineno="130"><highlight class="normal"></highlight></codeline>
|
151
|
+
<codeline lineno="131"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>dub</highlight><highlight class="normal"></highlight></codeline>
|
152
|
+
<codeline lineno="132"><highlight class="normal"></highlight></codeline>
|
153
|
+
<codeline lineno="133"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//<sp/>DOXY_GENERATOR_TEST_FIXTURES_APP_MATRIX_H_</highlight></codeline>
|
150
154
|
</programlisting>
|
151
155
|
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h"/>
|
152
156
|
</compounddef>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
</detaileddescription>
|
17
17
|
<inbodydescription>
|
18
18
|
</inbodydescription>
|
19
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
19
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="128" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="128" bodyend="-1"/>
|
20
20
|
</memberdef>
|
21
21
|
<memberdef kind="typedef" id="namespacedub_1a1f14f9a863b395dbbc9cdbf168855673" prot="public" static="no">
|
22
22
|
<type><ref refid="classdub_1_1_t_mat" kindref="compound">FloatMat</ref></type>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
</detaileddescription>
|
30
30
|
<inbodydescription>
|
31
31
|
</inbodydescription>
|
32
|
-
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="
|
32
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="129" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="129" bodyend="-1"/>
|
33
33
|
</memberdef>
|
34
34
|
</sectiondef>
|
35
35
|
<briefdescription>
|