dub 0.6.6 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +26 -0
- data/README.rdoc +41 -1
- data/dub.gemspec +160 -166
- data/lib/dub/argument.rb +25 -13
- data/lib/dub/function.rb +14 -4
- data/lib/dub/group.rb +2 -6
- data/lib/dub/klass.rb +55 -19
- data/lib/dub/lua/class.cpp.erb +29 -2
- data/lib/dub/lua/class_gen.rb +33 -34
- data/lib/dub/lua/function.cpp.erb +9 -12
- data/lib/dub/lua/function_gen.rb +55 -19
- data/lib/dub/lua/lua_cpp_helper.cpp +252 -0
- data/lib/dub/lua/lua_cpp_helper.h +118 -40
- data/lib/dub/lua/namespace.cpp.erb +3 -1
- data/lib/dub/lua/namespace_gen.rb +14 -33
- data/lib/dub/member_extraction.rb +47 -11
- data/lib/dub/namespace.rb +14 -3
- data/lib/dub/opts_parser.rb +3 -3
- data/lib/dub/version.rb +2 -2
- data/test/argument_test.rb +46 -12
- data/test/fixtures/app/include/matrix.h +121 -0
- data/test/fixtures/app/vendor/lua/liblua.a +0 -0
- data/test/fixtures/app/xml/classdub_1_1_base.xml +85 -0
- data/test/fixtures/app/xml/classdub_1_1_custom_destructor.xml +67 -0
- data/test/fixtures/app/xml/classdub_1_1_deletable_out_of_lua.xml +43 -0
- data/test/fixtures/app/xml/classdub_1_1_matrix.xml +162 -21
- data/test/fixtures/app/xml/classdub_1_1_no_destructor.xml +49 -0
- data/test/fixtures/app/xml/classdub_1_1_priv_sub_base.xml +89 -0
- data/test/fixtures/app/xml/classdub_1_1_private_constr.xml +68 -0
- data/test/fixtures/app/xml/classdub_1_1_static_constr.xml +69 -0
- data/test/fixtures/app/xml/classdub_1_1_sub_base.xml +89 -0
- data/test/fixtures/app/xml/classdub_1_1_t_mat.xml +15 -15
- data/test/fixtures/app/xml/index.xml +43 -0
- data/test/fixtures/app/xml/matrix_8h.xml +263 -132
- data/test/fixtures/app/xml/namespacedub.xml +10 -3
- data/test/function_group_test.rb +20 -1
- data/test/function_test.rb +10 -0
- data/test/group_test.rb +95 -9
- data/test/klass_test.rb +134 -5
- data/test/lua_function_gen_test.rb +36 -9
- metadata +20 -23
- data/.gitignore +0 -8
@@ -1,6 +1,18 @@
|
|
1
1
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
2
2
|
<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.6.3">
|
3
|
+
<compound refid="classdub_1_1_base" kind="class"><name>dub::Base</name>
|
4
|
+
<member refid="classdub_1_1_base_1ac906f7b7c2dadda8277be3f7dff4d0fe" kind="function"><name>Base</name></member>
|
5
|
+
<member refid="classdub_1_1_base_1ad7382fcee9fc5a93dbdd94375e4bf512" kind="function"><name>~Base</name></member>
|
6
|
+
<member refid="classdub_1_1_base_1a000aeea60faa72eb694f636125cadbc2" kind="function"><name>method_in_base</name></member>
|
7
|
+
</compound>
|
8
|
+
<compound refid="classdub_1_1_custom_destructor" kind="class"><name>dub::CustomDestructor</name>
|
9
|
+
<member refid="classdub_1_1_custom_destructor_1a3d7ad33377ffbaabc015e9edf817cbef" kind="function"><name>CustomDestructor</name></member>
|
10
|
+
<member refid="classdub_1_1_custom_destructor_1acf4d9fd787b873c8eef16b824bd4cff1" kind="function"><name>~CustomDestructor</name></member>
|
11
|
+
<member refid="classdub_1_1_custom_destructor_1aa47a1ea428fb9cde34d726d06f32ffc0" kind="function"><name>do_this</name></member>
|
12
|
+
</compound>
|
3
13
|
<compound refid="classdub_1_1_matrix" kind="class"><name>dub::Matrix</name>
|
14
|
+
<member refid="classdub_1_1_matrix_1aa2925235ace4c72c9cf8e5509c8fea9f" kind="property"><name>foo_prop</name></member>
|
15
|
+
<member refid="classdub_1_1_matrix_1a8dda311ed155077c59d2dd9a1bb8d4d4" kind="property"><name>size</name></member>
|
4
16
|
<member refid="classdub_1_1_matrix_1a134af4a94d273c34cc99e7645fb97917" kind="variable"><name>data_</name></member>
|
5
17
|
<member refid="classdub_1_1_matrix_1afbb3dac9aac8db0e6feffb8c61954065" kind="variable"><name>rows_</name></member>
|
6
18
|
<member refid="classdub_1_1_matrix_1a9820706da6cb36cf14dfefbb4eabc92d" kind="variable"><name>cols_</name></member>
|
@@ -14,13 +26,43 @@
|
|
14
26
|
<member refid="classdub_1_1_matrix_1a27fea405cf08ac087a11eefbaf4a342f" kind="function"><name>operator size_t</name></member>
|
15
27
|
<member refid="classdub_1_1_matrix_1ac159906fa5480fdc9539a7be1e1825ed" kind="function"><name>mul</name></member>
|
16
28
|
<member refid="classdub_1_1_matrix_1a5bf5b5aee77c4e4a4cf906ce785fe37b" kind="function"><name>do_something</name></member>
|
29
|
+
<member refid="classdub_1_1_matrix_1addb1193bb535468279ac84be43a1c3c2" kind="function"><name>do_something</name></member>
|
30
|
+
<member refid="classdub_1_1_matrix_1a1a23761eddbbe7d2c12b58570a089abb" kind="function"><name>bad_method</name></member>
|
17
31
|
<member refid="classdub_1_1_matrix_1a5d8ae4699d499cb9e4292c2ff765d3a1" kind="function"><name>use_other_lib</name></member>
|
18
32
|
<member refid="classdub_1_1_matrix_1a90798c27b8b4017a939f804481eb50ad" kind="function"><name>ptr</name></member>
|
33
|
+
<member refid="classdub_1_1_matrix_1a9b806d48af6d822da6045cc699209b39" kind="function"><name>true</name></member>
|
34
|
+
<member refid="classdub_1_1_matrix_1a3bccec6b300f49c7cd4b394dc93a3354" kind="function"><name>name</name></member>
|
19
35
|
<member refid="classdub_1_1_matrix_1af64ee96907ba127c876b9ebb9a65cc72" kind="function"><name>lua_thing</name></member>
|
36
|
+
<member refid="classdub_1_1_matrix_1aec9687539871e56fc39348fc7f2ef2ef" kind="function"><name>work_with_lua</name></member>
|
20
37
|
<member refid="classdub_1_1_matrix_1ad21255c4a1457c9969b6092ee40e0870" kind="function"><name>MakeMatrix</name></member>
|
38
|
+
<member refid="classdub_1_1_matrix_1a36d6f79e7453eac381e2bdb858e26552" kind="function"><name>Matrix</name></member>
|
21
39
|
<member refid="classdub_1_1_matrix_1a068b8c574a47b79df894bf1f4b3e1946" kind="function"><name>private_method</name></member>
|
22
40
|
<member refid="classdub_1_1_matrix_1aea9c51add856fe990e6474410849f8e3" kind="function"><name>protected_method</name></member>
|
23
41
|
</compound>
|
42
|
+
<compound refid="classdub_1_1_no_destructor" kind="class"><name>dub::NoDestructor</name>
|
43
|
+
<member refid="classdub_1_1_no_destructor_1a34f8ca50e4b2b7aec9d0f03418234853" kind="function"><name>NoDestructor</name></member>
|
44
|
+
<member refid="classdub_1_1_no_destructor_1a452392aa6c5e8197fc488819bef9f82c" kind="function"><name>~NoDestructor</name></member>
|
45
|
+
</compound>
|
46
|
+
<compound refid="classdub_1_1_private_constr" kind="class"><name>dub::PrivateConstr</name>
|
47
|
+
<member refid="classdub_1_1_private_constr_1a3babb1efc05711cabd5d134808122de0" kind="function"><name>PrivateConstr</name></member>
|
48
|
+
<member refid="classdub_1_1_private_constr_1a174cf284ec0da84991abb013d7b498a7" kind="function"><name>~PrivateConstr</name></member>
|
49
|
+
<member refid="classdub_1_1_private_constr_1ad75c5206e443c41ec74a9d273db8a733" kind="function"><name>PrivateConstr</name></member>
|
50
|
+
</compound>
|
51
|
+
<compound refid="classdub_1_1_priv_sub_base" kind="class"><name>dub::PrivSubBase</name>
|
52
|
+
<member refid="classdub_1_1_priv_sub_base_1ad3b248b5942202e9e4f24bd70bba9842" kind="function"><name>SubBase</name></member>
|
53
|
+
<member refid="classdub_1_1_priv_sub_base_1a434f3cce3e7a507457c245b946359160" kind="function"><name>~SubBase</name></member>
|
54
|
+
<member refid="classdub_1_1_priv_sub_base_1a2596f5226a8ac79d2ef19ab3273fdaf9" kind="function"><name>method_in_sub</name></member>
|
55
|
+
</compound>
|
56
|
+
<compound refid="classdub_1_1_static_constr" kind="class"><name>dub::StaticConstr</name>
|
57
|
+
<member refid="classdub_1_1_static_constr_1abf9020105a36eb99e7346a45625a7e2c" kind="function"><name>StaticConstr</name></member>
|
58
|
+
<member refid="classdub_1_1_static_constr_1aaf9d50d7ddca927965d3832f355bd6ac" kind="function"><name>~StaticConstr</name></member>
|
59
|
+
<member refid="classdub_1_1_static_constr_1a56ca6344b17c8ff3df132c6100b53882" kind="function"><name>MakeStaticConstr</name></member>
|
60
|
+
</compound>
|
61
|
+
<compound refid="classdub_1_1_sub_base" kind="class"><name>dub::SubBase</name>
|
62
|
+
<member refid="classdub_1_1_sub_base_1a9138b809b491779bce4b6ea83fafef77" kind="function"><name>SubBase</name></member>
|
63
|
+
<member refid="classdub_1_1_sub_base_1a8428276b3ec36d87805fdb7b74746459" kind="function"><name>~SubBase</name></member>
|
64
|
+
<member refid="classdub_1_1_sub_base_1ac4f5b28ef51171560a92ba242766a072" kind="function"><name>method_in_sub</name></member>
|
65
|
+
</compound>
|
24
66
|
<compound refid="classdub_1_1_t_mat" kind="class"><name>dub::TMat</name>
|
25
67
|
<member refid="classdub_1_1_t_mat_1a325c9dcebf13b0804997d014e7287606" kind="variable"><name>data_</name></member>
|
26
68
|
<member refid="classdub_1_1_t_mat_1af4189290104841dd5a9a6f02bf83a7d8" kind="variable"><name>rows_</name></member>
|
@@ -42,6 +84,7 @@
|
|
42
84
|
<member refid="namespacedub_1a1f14f9a863b395dbbc9cdbf168855673" kind="typedef"><name>FMatrix</name></member>
|
43
85
|
</compound>
|
44
86
|
<compound refid="matrix_8h" kind="file"><name>matrix.h</name>
|
87
|
+
<member refid="matrix_8h_1a038a308a5e7246ac41ca22c43d7209d1" kind="typedef"><name>LuaStackSize</name></member>
|
45
88
|
</compound>
|
46
89
|
<compound refid="dir_53661a2bdeb1d55e60581a7e15deb763" kind="dir"><name>include/</name>
|
47
90
|
</compound>
|
@@ -21,8 +21,30 @@
|
|
21
21
|
</node>
|
22
22
|
</incdepgraph>
|
23
23
|
<innerclass refid="classdub_1_1_matrix" prot="public">dub::Matrix</innerclass>
|
24
|
+
<innerclass refid="classdub_1_1_private_constr" prot="public">dub::PrivateConstr</innerclass>
|
25
|
+
<innerclass refid="classdub_1_1_custom_destructor" prot="public">dub::CustomDestructor</innerclass>
|
26
|
+
<innerclass refid="classdub_1_1_no_destructor" prot="public">dub::NoDestructor</innerclass>
|
27
|
+
<innerclass refid="classdub_1_1_static_constr" prot="public">dub::StaticConstr</innerclass>
|
28
|
+
<innerclass refid="classdub_1_1_base" prot="public">dub::Base</innerclass>
|
29
|
+
<innerclass refid="classdub_1_1_sub_base" prot="public">dub::SubBase</innerclass>
|
30
|
+
<innerclass refid="classdub_1_1_priv_sub_base" prot="public">dub::PrivSubBase</innerclass>
|
24
31
|
<innerclass refid="classdub_1_1_t_mat" prot="public">dub::TMat</innerclass>
|
25
32
|
<innernamespace refid="namespacedub">dub</innernamespace>
|
33
|
+
<sectiondef kind="typedef">
|
34
|
+
<memberdef kind="typedef" id="matrix_8h_1a038a308a5e7246ac41ca22c43d7209d1" prot="public" static="no">
|
35
|
+
<type>int</type>
|
36
|
+
<definition>typedef int LuaStackSize</definition>
|
37
|
+
<argsstring></argsstring>
|
38
|
+
<name>LuaStackSize</name>
|
39
|
+
<briefdescription>
|
40
|
+
</briefdescription>
|
41
|
+
<detaileddescription>
|
42
|
+
</detaileddescription>
|
43
|
+
<inbodydescription>
|
44
|
+
</inbodydescription>
|
45
|
+
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="9" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="9" bodyend="-1"/>
|
46
|
+
</memberdef>
|
47
|
+
</sectiondef>
|
26
48
|
<briefdescription>
|
27
49
|
</briefdescription>
|
28
50
|
<detaileddescription>
|
@@ -35,144 +57,253 @@
|
|
35
57
|
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><stdlib.h></highlight><highlight class="normal"><sp/></highlight><highlight class="comment">//<sp/>malloc</highlight><highlight class="normal"></highlight></codeline>
|
36
58
|
<codeline lineno="6"><highlight class="normal"></highlight></codeline>
|
37
59
|
<codeline lineno="7"><highlight class="normal"></highlight></codeline>
|
38
|
-
<codeline lineno="
|
39
|
-
<codeline lineno="
|
40
|
-
<codeline lineno="
|
41
|
-
<codeline lineno="
|
42
|
-
<codeline lineno="19"><highlight class="normal"><
|
60
|
+
<codeline lineno="9"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>LuaStackSize;</highlight></codeline>
|
61
|
+
<codeline lineno="10"><highlight class="normal"></highlight></codeline>
|
62
|
+
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">dub<sp/>{</highlight></codeline>
|
63
|
+
<codeline lineno="12"><highlight class="normal"></highlight></codeline>
|
64
|
+
<codeline lineno="19" refid="classdub_1_1_matrix" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref><sp/>{</highlight></codeline>
|
43
65
|
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
|
44
|
-
<codeline lineno="21"><highlight class="normal"><sp/><sp
|
45
|
-
<codeline lineno="22"><highlight class="normal"><sp/><sp
|
46
|
-
<codeline lineno="23"><highlight class="normal"><
|
47
|
-
<codeline lineno="24"><highlight class="normal"
|
48
|
-
<codeline lineno="25"><highlight class="normal"
|
49
|
-
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp
|
50
|
-
<codeline lineno="27"><highlight class="normal"><sp/><sp/>
|
51
|
-
<codeline lineno="28"><highlight class="normal"
|
52
|
-
<codeline lineno="
|
53
|
-
<codeline lineno="
|
66
|
+
<codeline lineno="21"><highlight class="normal"><sp/><sp/>Q_PROPERTY(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>foo_prop<sp/>READ<sp/><ref refid="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" kindref="member">size</ref>)</highlight></codeline>
|
67
|
+
<codeline lineno="22"><highlight class="normal"><sp/><sp/>Q_PROPERTY(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>size<sp/>READ<sp/>size<sp/>WRITE<sp/>setSize)</highlight></codeline>
|
68
|
+
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
69
|
+
<codeline lineno="24"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref>()<sp/>:<sp/>data_(NULL),<sp/>rows_(0),<sp/>cols_(0)<sp/>{}</highlight></codeline>
|
70
|
+
<codeline lineno="25"><highlight class="normal"></highlight></codeline>
|
71
|
+
<codeline lineno="26"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</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>
|
72
|
+
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/>data_<sp/>=<sp/>(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal">*)malloc(<ref refid="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" kindref="member">size</ref>()<sp/>*<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(double));</highlight></codeline>
|
73
|
+
<codeline lineno="28"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
74
|
+
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
|
75
|
+
<codeline lineno="30"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref>()<sp/>{</highlight></codeline>
|
76
|
+
<codeline lineno="31"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(data_)<sp/>free(data_);</highlight></codeline>
|
54
77
|
<codeline lineno="32"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
55
78
|
<codeline lineno="33"><highlight class="normal"></highlight></codeline>
|
56
|
-
<codeline lineno="
|
57
|
-
<codeline lineno="
|
58
|
-
<codeline lineno="
|
59
|
-
<codeline lineno="
|
60
|
-
<codeline lineno="
|
61
|
-
<codeline lineno="
|
62
|
-
<codeline lineno="
|
63
|
-
<codeline lineno="
|
64
|
-
<codeline lineno="
|
65
|
-
<codeline lineno="
|
66
|
-
<codeline lineno="
|
67
|
-
<codeline lineno="
|
68
|
-
<codeline lineno="
|
69
|
-
<codeline lineno="
|
70
|
-
<codeline lineno="
|
71
|
-
<codeline lineno="
|
72
|
-
<codeline lineno="
|
73
|
-
<codeline lineno="
|
74
|
-
<codeline lineno="
|
75
|
-
<codeline lineno="
|
76
|
-
<codeline lineno="
|
77
|
-
<codeline lineno="
|
78
|
-
<codeline lineno="
|
79
|
-
<codeline lineno="
|
80
|
-
<codeline lineno="
|
81
|
-
<codeline lineno="
|
82
|
-
<codeline lineno="
|
83
|
-
<codeline lineno="
|
84
|
-
<codeline lineno="
|
85
|
-
<codeline lineno="
|
86
|
-
<codeline lineno="
|
87
|
-
<codeline lineno="
|
88
|
-
<codeline lineno="
|
89
|
-
<codeline lineno="
|
90
|
-
<codeline lineno="
|
91
|
-
<codeline lineno="
|
92
|
-
<codeline lineno="
|
93
|
-
<codeline lineno="
|
94
|
-
<codeline lineno="
|
95
|
-
<codeline lineno="
|
96
|
-
<codeline lineno="
|
97
|
-
<codeline lineno="
|
98
|
-
<codeline lineno="
|
99
|
-
<codeline lineno="
|
100
|
-
<codeline lineno="
|
101
|
-
<codeline lineno="
|
102
|
-
<codeline lineno="
|
103
|
-
<codeline lineno="
|
104
|
-
<codeline lineno="
|
105
|
-
<codeline lineno="
|
106
|
-
<codeline lineno="
|
107
|
-
<codeline lineno="
|
108
|
-
<codeline lineno="
|
109
|
-
<codeline lineno="
|
110
|
-
<codeline lineno="
|
111
|
-
<codeline lineno="
|
112
|
-
<codeline lineno="
|
113
|
-
<codeline lineno="
|
114
|
-
<codeline lineno="
|
115
|
-
<codeline lineno="
|
116
|
-
<codeline lineno="
|
117
|
-
<codeline lineno="
|
118
|
-
<codeline lineno="
|
119
|
-
<codeline lineno="
|
120
|
-
<codeline lineno="
|
121
|
-
<codeline lineno="
|
122
|
-
<codeline lineno="
|
123
|
-
<codeline lineno="
|
124
|
-
<codeline lineno="
|
125
|
-
<codeline lineno="
|
126
|
-
<codeline lineno="
|
127
|
-
<codeline lineno="109"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>(T<sp/>dummy)<sp/>{</highlight></codeline>
|
79
|
+
<codeline lineno="35" refid="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" kindref="member">size</ref>()<sp/>{</highlight></codeline>
|
80
|
+
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rows_<sp/>*<sp/>cols_;</highlight></codeline>
|
81
|
+
<codeline lineno="37"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
82
|
+
<codeline lineno="38"><highlight class="normal"></highlight></codeline>
|
83
|
+
<codeline lineno="39"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>cols()<sp/>{</highlight></codeline>
|
84
|
+
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
85
|
+
<codeline lineno="41"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
86
|
+
<codeline lineno="42"><highlight class="normal"></highlight></codeline>
|
87
|
+
<codeline lineno="43"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>rows()<sp/>{</highlight></codeline>
|
88
|
+
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
89
|
+
<codeline lineno="45"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
90
|
+
<codeline lineno="46"><highlight class="normal"></highlight></codeline>
|
91
|
+
<codeline lineno="49"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>T></highlight></codeline>
|
92
|
+
<codeline lineno="50" refid="classdub_1_1_matrix_1a7a47bc085de140093ba358d345d58df7" refkind="member"><highlight class="normal"><sp/><sp/>T<sp/>*<ref refid="classdub_1_1_matrix_1a7a47bc085de140093ba358d345d58df7" kindref="member">give_me_tea</ref>()<sp/>{</highlight></codeline>
|
93
|
+
<codeline lineno="51"><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/>T();</highlight></codeline>
|
94
|
+
<codeline lineno="52"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
95
|
+
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
|
96
|
+
<codeline lineno="54"><highlight class="normal"><sp/><sp/>operator<sp/>size_t()<sp/>{</highlight></codeline>
|
97
|
+
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" kindref="member">size</ref>();</highlight></codeline>
|
98
|
+
<codeline lineno="56"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
99
|
+
<codeline lineno="57"><highlight class="normal"></highlight></codeline>
|
100
|
+
<codeline lineno="58"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>mul(TMat<int><sp/>other)<sp/>{</highlight></codeline>
|
101
|
+
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
102
|
+
<codeline lineno="60"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
103
|
+
<codeline lineno="61"><highlight class="normal"></highlight></codeline>
|
104
|
+
<codeline lineno="62"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>do_something(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>fast=</highlight><highlight class="keyword">false</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
105
|
+
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
|
106
|
+
<codeline lineno="64"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
107
|
+
<codeline lineno="65"><highlight class="normal"></highlight></codeline>
|
108
|
+
<codeline lineno="66"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>do_something(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*baz)<sp/>{</highlight></codeline>
|
109
|
+
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>overloaded<sp/>member<sp/>method</highlight><highlight class="normal"></highlight></codeline>
|
110
|
+
<codeline lineno="68"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
111
|
+
<codeline lineno="69"><highlight class="normal"></highlight></codeline>
|
112
|
+
<codeline lineno="70"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>bad_method(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i)<sp/>{</highlight></codeline>
|
113
|
+
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>method<sp/>should<sp/>not<sp/>exist<sp/>in<sp/>bindings</highlight><highlight class="normal"></highlight></codeline>
|
114
|
+
<codeline lineno="72"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
115
|
+
<codeline lineno="73"><highlight class="normal"></highlight></codeline>
|
116
|
+
<codeline lineno="74"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>use_other_lib(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string<sp/>&name)<sp/>{</highlight></codeline>
|
117
|
+
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
118
|
+
<codeline lineno="76"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
119
|
+
<codeline lineno="77"><highlight class="normal"></highlight></codeline>
|
120
|
+
<codeline lineno="78"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>*ptr()<sp/>{</highlight></codeline>
|
121
|
+
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
122
|
+
<codeline lineno="80"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
123
|
+
<codeline lineno="81"><highlight class="normal"></highlight></codeline>
|
124
|
+
<codeline lineno="82"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">()<sp/>{</highlight></codeline>
|
125
|
+
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
126
|
+
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
127
|
+
<codeline lineno="85"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
128
|
+
<codeline lineno="86"><highlight class="normal"></highlight></codeline>
|
129
|
+
<codeline lineno="87"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name()<sp/>{</highlight></codeline>
|
130
|
+
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>should<sp/>make<sp/>method<sp/>return<sp/>string</highlight><highlight class="normal"></highlight></codeline>
|
131
|
+
<codeline lineno="89"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
132
|
+
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
|
133
|
+
<codeline lineno="91"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>*lua_thing(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>a,<sp/>lua_State<sp/>*L,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>b)<sp/>{</highlight></codeline>
|
134
|
+
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
135
|
+
<codeline lineno="93"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
136
|
+
<codeline lineno="94"><highlight class="normal"></highlight></codeline>
|
137
|
+
<codeline lineno="95"><highlight class="normal"><sp/><sp/>LuaStackSize<sp/>work_with_lua(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>a,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>b)<sp/>{</highlight></codeline>
|
138
|
+
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>method<sp/>that<sp/>directly<sp/>pushes<sp/>lua<sp/>values<sp/>on<sp/>the<sp/>stack</highlight><highlight class="normal"></highlight></codeline>
|
139
|
+
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>2;</highlight></codeline>
|
140
|
+
<codeline lineno="98"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
141
|
+
<codeline lineno="99"><highlight class="normal"></highlight></codeline>
|
142
|
+
<codeline lineno="102" 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>
|
143
|
+
<codeline lineno="103"><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>
|
144
|
+
<codeline lineno="104"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
145
|
+
<codeline lineno="105"><highlight class="normal"></highlight></codeline>
|
146
|
+
<codeline lineno="106"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
147
|
+
<codeline lineno="107"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_matrix" kindref="compound">Matrix</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>{</highlight></codeline>
|
148
|
+
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>private<sp/>constructor</highlight><highlight class="normal"></highlight></codeline>
|
149
|
+
<codeline lineno="109"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
128
150
|
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
|
129
|
-
<codeline lineno="111"><highlight class="normal"><sp/><sp/>
|
130
|
-
<codeline lineno="112"><highlight class="normal"></highlight></codeline>
|
131
|
-
<codeline lineno="113"><highlight class="normal"><sp/><sp
|
132
|
-
<codeline lineno="114"><highlight class="normal"><sp/><sp
|
133
|
-
<codeline lineno="115"><highlight class="normal"
|
134
|
-
<codeline lineno="116"><highlight class="normal"></highlight></codeline>
|
135
|
-
<codeline lineno="
|
136
|
-
<codeline lineno="
|
137
|
-
<codeline lineno="
|
138
|
-
<codeline lineno="
|
139
|
-
<codeline lineno="
|
140
|
-
<codeline lineno="
|
141
|
-
<codeline lineno="
|
142
|
-
<codeline lineno="
|
151
|
+
<codeline lineno="111"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>private_method()<sp/>{</highlight></codeline>
|
152
|
+
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>should<sp/>not<sp/>be<sp/>implemented</highlight><highlight class="normal"></highlight></codeline>
|
153
|
+
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
|
154
|
+
<codeline lineno="114"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
155
|
+
<codeline lineno="115"><highlight class="normal"></highlight></codeline>
|
156
|
+
<codeline lineno="116"><highlight class="normal"></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
|
157
|
+
<codeline lineno="117"><highlight class="normal"></highlight></codeline>
|
158
|
+
<codeline lineno="118"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>protected_method()<sp/>{</highlight></codeline>
|
159
|
+
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>should<sp/>not<sp/>be<sp/>implemented</highlight><highlight class="normal"></highlight></codeline>
|
160
|
+
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
|
161
|
+
<codeline lineno="121"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
162
|
+
<codeline lineno="122"><highlight class="normal"></highlight></codeline>
|
163
|
+
<codeline lineno="123"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*data_;</highlight></codeline>
|
164
|
+
<codeline lineno="124"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
165
|
+
<codeline lineno="125"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
166
|
+
<codeline lineno="126"><highlight class="normal">};</highlight></codeline>
|
167
|
+
<codeline lineno="127"><highlight class="normal"></highlight></codeline>
|
143
168
|
<codeline lineno="128"><highlight class="normal"></highlight></codeline>
|
144
|
-
<codeline lineno="
|
145
|
-
<codeline lineno="
|
146
|
-
<codeline lineno="
|
147
|
-
<codeline lineno="
|
148
|
-
<codeline lineno="
|
149
|
-
<codeline lineno="
|
150
|
-
<codeline lineno="
|
151
|
-
<codeline lineno="
|
152
|
-
<codeline lineno="
|
153
|
-
<codeline lineno="
|
154
|
-
<codeline lineno="
|
155
|
-
<codeline lineno="140"><highlight class="normal"></highlight></codeline>
|
156
|
-
<codeline lineno="141"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>FunkyThing(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>v[7])<sp/>{</highlight></codeline>
|
169
|
+
<codeline lineno="131" refid="classdub_1_1_private_constr" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_private_constr" kindref="compound">PrivateConstr</ref><sp/>{</highlight></codeline>
|
170
|
+
<codeline lineno="132"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
171
|
+
<codeline lineno="133"><highlight class="normal"></highlight></codeline>
|
172
|
+
<codeline lineno="134"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_private_constr" kindref="compound">PrivateConstr</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>{}</highlight></codeline>
|
173
|
+
<codeline lineno="135"><highlight class="normal"></highlight></codeline>
|
174
|
+
<codeline lineno="136"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_private_constr" kindref="compound">PrivateConstr</ref>()<sp/>{}</highlight></codeline>
|
175
|
+
<codeline lineno="137"><highlight class="normal"></highlight></codeline>
|
176
|
+
<codeline lineno="138"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
177
|
+
<codeline lineno="139"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>should<sp/>not<sp/>be<sp/>used<sp/>to<sp/>build<sp/>a<sp/>FunctionGroup</highlight><highlight class="normal"></highlight></codeline>
|
178
|
+
<codeline lineno="140"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_private_constr" kindref="compound">PrivateConstr</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name)<sp/>{}</highlight></codeline>
|
179
|
+
<codeline lineno="141"><highlight class="normal">};</highlight></codeline>
|
157
180
|
<codeline lineno="142"><highlight class="normal"></highlight></codeline>
|
158
|
-
<codeline lineno="
|
159
|
-
<codeline lineno="
|
160
|
-
<codeline lineno="
|
161
|
-
<codeline lineno="
|
162
|
-
<codeline lineno="
|
163
|
-
<codeline lineno="
|
164
|
-
<codeline lineno="
|
165
|
-
<codeline lineno="
|
166
|
-
<codeline lineno="
|
167
|
-
<codeline lineno="
|
168
|
-
<codeline lineno="
|
169
|
-
<codeline lineno="
|
170
|
-
<codeline lineno="
|
171
|
-
<codeline lineno="
|
172
|
-
<codeline lineno="
|
173
|
-
<codeline lineno="
|
174
|
-
<codeline lineno="
|
175
|
-
<codeline lineno="
|
181
|
+
<codeline lineno="146" refid="classdub_1_1_custom_destructor" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_custom_destructor" kindref="compound">CustomDestructor</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/>DeletableOutOfLua</highlight></codeline>
|
182
|
+
<codeline lineno="147"><highlight class="normal">{</highlight></codeline>
|
183
|
+
<codeline lineno="148"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
184
|
+
<codeline lineno="149"><highlight class="normal"></highlight></codeline>
|
185
|
+
<codeline lineno="150"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_custom_destructor" kindref="compound">CustomDestructor</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>{}</highlight></codeline>
|
186
|
+
<codeline lineno="151"><highlight class="normal"></highlight></codeline>
|
187
|
+
<codeline lineno="152"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_custom_destructor" kindref="compound">CustomDestructor</ref>()<sp/>{}</highlight></codeline>
|
188
|
+
<codeline lineno="153"><highlight class="normal"></highlight></codeline>
|
189
|
+
<codeline lineno="154"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>do_this(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>{</highlight></codeline>
|
190
|
+
<codeline lineno="155"><highlight class="normal"></highlight></codeline>
|
191
|
+
<codeline lineno="156"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
192
|
+
<codeline lineno="157"><highlight class="normal">};</highlight></codeline>
|
193
|
+
<codeline lineno="158"><highlight class="normal"></highlight></codeline>
|
194
|
+
<codeline lineno="163" refid="classdub_1_1_no_destructor" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_no_destructor" kindref="compound">NoDestructor</ref><sp/>{</highlight></codeline>
|
195
|
+
<codeline lineno="164"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
196
|
+
<codeline lineno="165"><highlight class="normal"></highlight></codeline>
|
197
|
+
<codeline lineno="166"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_no_destructor" kindref="compound">NoDestructor</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>{}</highlight></codeline>
|
198
|
+
<codeline lineno="167"><highlight class="normal"></highlight></codeline>
|
199
|
+
<codeline lineno="168"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_no_destructor" kindref="compound">NoDestructor</ref>()<sp/>{}</highlight></codeline>
|
200
|
+
<codeline lineno="169"><highlight class="normal">};</highlight></codeline>
|
201
|
+
<codeline lineno="170"><highlight class="normal"></highlight></codeline>
|
202
|
+
<codeline lineno="174" refid="classdub_1_1_static_constr" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_static_constr" kindref="compound">StaticConstr</ref><sp/>{</highlight></codeline>
|
203
|
+
<codeline lineno="175"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
204
|
+
<codeline lineno="176"><highlight class="normal"></highlight></codeline>
|
205
|
+
<codeline lineno="177"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_static_constr" kindref="compound">StaticConstr</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>{}</highlight></codeline>
|
206
|
+
<codeline lineno="178"><highlight class="normal"></highlight></codeline>
|
207
|
+
<codeline lineno="179"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_static_constr" kindref="compound">StaticConstr</ref>()<sp/>{}</highlight></codeline>
|
208
|
+
<codeline lineno="180"><highlight class="normal"></highlight></codeline>
|
209
|
+
<codeline lineno="181"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>We<sp/>usually<sp/>want<sp/>to<sp/>push<sp/>the<sp/>userdata<sp/>ourself<sp/>in</highlight><highlight class="normal"></highlight></codeline>
|
210
|
+
<codeline lineno="182"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>such<sp/>cases.</highlight><highlight class="normal"></highlight></codeline>
|
211
|
+
<codeline lineno="183"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>LuaStackSize<sp/>MakeStaticConstr(lua_State<sp/>*L)<sp/>{</highlight></codeline>
|
212
|
+
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;<sp/></highlight><highlight class="comment">//<sp/>fake<sp/>error<sp/>(nil<sp/>return)</highlight><highlight class="normal"></highlight></codeline>
|
213
|
+
<codeline lineno="185"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
214
|
+
<codeline lineno="186"><highlight class="normal">};</highlight></codeline>
|
215
|
+
<codeline lineno="187"><highlight class="normal"></highlight></codeline>
|
216
|
+
<codeline lineno="188"><highlight class="normal"></highlight><highlight class="comment">//<sp/>class<sp/>inheritence<sp/>tests</highlight><highlight class="normal"></highlight></codeline>
|
217
|
+
<codeline lineno="189" refid="classdub_1_1_base" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_base" kindref="compound">Base</ref><sp/>{</highlight></codeline>
|
218
|
+
<codeline lineno="190"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
219
|
+
<codeline lineno="191"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_base" kindref="compound">Base</ref>()<sp/>{}</highlight></codeline>
|
220
|
+
<codeline lineno="192"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_base" kindref="compound">Base</ref>()<sp/>{}</highlight></codeline>
|
221
|
+
<codeline lineno="193"><highlight class="normal"></highlight></codeline>
|
222
|
+
<codeline lineno="194"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*method_in_base(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y)<sp/>{</highlight></codeline>
|
223
|
+
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">"nothing"</highlight><highlight class="normal">;</highlight></codeline>
|
224
|
+
<codeline lineno="196"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
225
|
+
<codeline lineno="197"><highlight class="normal">};</highlight></codeline>
|
226
|
+
<codeline lineno="198"><highlight class="normal"></highlight></codeline>
|
227
|
+
<codeline lineno="199"><highlight class="normal"></highlight><highlight class="comment">//<sp/>class<sp/>inheritence<sp/>tests</highlight><highlight class="normal"></highlight></codeline>
|
228
|
+
<codeline lineno="200" refid="classdub_1_1_sub_base" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_sub_base" kindref="compound">SubBase</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_base" kindref="compound">Base</ref><sp/>{</highlight></codeline>
|
229
|
+
<codeline lineno="201"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
230
|
+
<codeline lineno="202"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_sub_base" kindref="compound">SubBase</ref>()<sp/>{}</highlight></codeline>
|
231
|
+
<codeline lineno="203"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_sub_base" kindref="compound">SubBase</ref>()<sp/>{}</highlight></codeline>
|
232
|
+
<codeline lineno="204"><highlight class="normal"></highlight></codeline>
|
233
|
+
<codeline lineno="205"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>method_in_sub(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y)<sp/>{</highlight></codeline>
|
234
|
+
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">"nothing"</highlight><highlight class="normal">;</highlight></codeline>
|
235
|
+
<codeline lineno="207"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
236
|
+
<codeline lineno="208"><highlight class="normal">};</highlight></codeline>
|
237
|
+
<codeline lineno="209"><highlight class="normal"></highlight></codeline>
|
238
|
+
<codeline lineno="210"><highlight class="normal"></highlight><highlight class="comment">//<sp/>class<sp/>inheritence<sp/>tests</highlight><highlight class="normal"></highlight></codeline>
|
239
|
+
<codeline lineno="211" refid="classdub_1_1_priv_sub_base" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdub_1_1_priv_sub_base" kindref="compound">PrivSubBase</ref><sp/>:<sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal"><sp/><ref refid="classdub_1_1_base" kindref="compound">Base</ref><sp/>{</highlight></codeline>
|
240
|
+
<codeline lineno="212"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
241
|
+
<codeline lineno="213"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_sub_base" kindref="compound">SubBase</ref>()<sp/>{}</highlight></codeline>
|
242
|
+
<codeline lineno="214"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_sub_base" kindref="compound">SubBase</ref>()<sp/>{}</highlight></codeline>
|
243
|
+
<codeline lineno="215"><highlight class="normal"></highlight></codeline>
|
244
|
+
<codeline lineno="216"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>method_in_sub(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>y)<sp/>{</highlight></codeline>
|
245
|
+
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">"nothing"</highlight><highlight class="normal">;</highlight></codeline>
|
246
|
+
<codeline lineno="218"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
247
|
+
<codeline lineno="219"><highlight class="normal">};</highlight></codeline>
|
248
|
+
<codeline lineno="220"><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>
|
249
|
+
<codeline lineno="221" 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>
|
250
|
+
<codeline lineno="222"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
251
|
+
<codeline lineno="223"><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>
|
252
|
+
<codeline lineno="224"><highlight class="normal"></highlight></codeline>
|
253
|
+
<codeline lineno="225"><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>
|
254
|
+
<codeline lineno="226"><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>
|
255
|
+
<codeline lineno="227"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
256
|
+
<codeline lineno="228"><highlight class="normal"></highlight></codeline>
|
257
|
+
<codeline lineno="229"><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>
|
258
|
+
<codeline lineno="230"><highlight class="normal"><sp/><sp/><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>(T<sp/>dummy)<sp/>{</highlight></codeline>
|
259
|
+
<codeline lineno="231"><highlight class="normal"></highlight></codeline>
|
260
|
+
<codeline lineno="232"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
261
|
+
<codeline lineno="233"><highlight class="normal"></highlight></codeline>
|
262
|
+
<codeline lineno="234"><highlight class="normal"><sp/><sp/>~<ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>()<sp/>{</highlight></codeline>
|
263
|
+
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(data_)<sp/>free(data_);</highlight></codeline>
|
264
|
+
<codeline lineno="236"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
265
|
+
<codeline lineno="237"><highlight class="normal"></highlight></codeline>
|
266
|
+
<codeline lineno="240"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>T2></highlight></codeline>
|
267
|
+
<codeline lineno="241" refid="classdub_1_1_t_mat_1a2be2ba15b604f9529a9fce4eff4379e9" refkind="member"><highlight class="normal"><sp/><sp/>T2<sp/>*<ref refid="classdub_1_1_t_mat_1a2be2ba15b604f9529a9fce4eff4379e9" kindref="member">give_me_tea</ref>()<sp/>{</highlight></codeline>
|
268
|
+
<codeline lineno="242"><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/>T2();</highlight></codeline>
|
269
|
+
<codeline lineno="243"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
270
|
+
<codeline lineno="244"><highlight class="normal"></highlight></codeline>
|
271
|
+
<codeline lineno="246" 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>
|
272
|
+
<codeline lineno="247"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rows_<sp/>*<sp/>cols_;</highlight></codeline>
|
273
|
+
<codeline lineno="248"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
274
|
+
<codeline lineno="249"><highlight class="normal"></highlight></codeline>
|
275
|
+
<codeline lineno="250"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols()<sp/>{</highlight></codeline>
|
276
|
+
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
277
|
+
<codeline lineno="252"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
278
|
+
<codeline lineno="253"><highlight class="normal"></highlight></codeline>
|
279
|
+
<codeline lineno="254"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>rows()<sp/>{</highlight></codeline>
|
280
|
+
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
281
|
+
<codeline lineno="256"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
282
|
+
<codeline lineno="257"><highlight class="normal"></highlight></codeline>
|
283
|
+
<codeline lineno="258"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>fill(T<sp/>value)<sp/>{</highlight></codeline>
|
284
|
+
<codeline lineno="259"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dummy</highlight><highlight class="normal"></highlight></codeline>
|
285
|
+
<codeline lineno="260"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
286
|
+
<codeline lineno="261"><highlight class="normal"></highlight></codeline>
|
287
|
+
<codeline lineno="262"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>FunkyThing(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>v[7])<sp/>{</highlight></codeline>
|
288
|
+
<codeline lineno="263"><highlight class="normal"></highlight></codeline>
|
289
|
+
<codeline lineno="264"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
290
|
+
<codeline lineno="265"><highlight class="normal"></highlight></codeline>
|
291
|
+
<codeline lineno="266"><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>
|
292
|
+
<codeline lineno="267"><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>
|
293
|
+
<codeline lineno="268"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
294
|
+
<codeline lineno="269"><highlight class="normal"></highlight></codeline>
|
295
|
+
<codeline lineno="270"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
296
|
+
<codeline lineno="271"><highlight class="normal"><sp/><sp/>T<sp/>*data_;</highlight></codeline>
|
297
|
+
<codeline lineno="272"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>rows_;</highlight></codeline>
|
298
|
+
<codeline lineno="273"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>cols_;</highlight></codeline>
|
299
|
+
<codeline lineno="274"><highlight class="normal">};</highlight></codeline>
|
300
|
+
<codeline lineno="275"><highlight class="normal"></highlight></codeline>
|
301
|
+
<codeline lineno="278"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/>TMat<float><sp/>FloatMat;</highlight></codeline>
|
302
|
+
<codeline lineno="279"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/>FloatMat<sp/>FMatrix;</highlight></codeline>
|
303
|
+
<codeline lineno="280"><highlight class="normal"></highlight></codeline>
|
304
|
+
<codeline lineno="281"><highlight class="normal">}<sp/></highlight><highlight class="comment">//<sp/>dub</highlight><highlight class="normal"></highlight></codeline>
|
305
|
+
<codeline lineno="282"><highlight class="normal"></highlight></codeline>
|
306
|
+
<codeline lineno="283"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//<sp/>DOXY_GENERATOR_TEST_FIXTURES_APP_MATRIX_H_</highlight></codeline>
|
176
307
|
</programlisting>
|
177
308
|
<location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h"/>
|
178
309
|
</compounddef>
|