dub 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|