dub 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. data/.gitignore +8 -0
  2. data/History.txt +5 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +53 -0
  5. data/Rakefile +58 -0
  6. data/dub.gemspec +194 -0
  7. data/lib/dub/argument.rb +261 -0
  8. data/lib/dub/entities_unescape.rb +16 -0
  9. data/lib/dub/function.rb +111 -0
  10. data/lib/dub/function_group.rb +74 -0
  11. data/lib/dub/generator.rb +15 -0
  12. data/lib/dub/group.rb +10 -0
  13. data/lib/dub/klass.rb +231 -0
  14. data/lib/dub/lua/class.cpp.erb +75 -0
  15. data/lib/dub/lua/class_gen.rb +78 -0
  16. data/lib/dub/lua/function.cpp.erb +4 -0
  17. data/lib/dub/lua/function_gen.rb +223 -0
  18. data/lib/dub/lua/group.cpp.erb +10 -0
  19. data/lib/dub/lua/lua_cpp_helper.h +141 -0
  20. data/lib/dub/lua/namespace.cpp.erb +35 -0
  21. data/lib/dub/lua/namespace_gen.rb +86 -0
  22. data/lib/dub/lua.rb +24 -0
  23. data/lib/dub/member_extraction.rb +88 -0
  24. data/lib/dub/namespace.rb +276 -0
  25. data/lib/dub/parser.rb +46 -0
  26. data/lib/dub/templates/lua_template.erb +21 -0
  27. data/lib/dub/version.rb +3 -0
  28. data/lib/dub.rb +26 -0
  29. data/test/argument_test.rb +423 -0
  30. data/test/fixtures/app/CMakeLists.txt +54 -0
  31. data/test/fixtures/app/Doxyfile +1600 -0
  32. data/test/fixtures/app/bindings/all_lua.cpp +299 -0
  33. data/test/fixtures/app/include/matrix.h +123 -0
  34. data/test/fixtures/app/make_lua_bindings.rb +13 -0
  35. data/test/fixtures/app/vendor/lua/CMakeLists.txt +25 -0
  36. data/test/fixtures/app/vendor/lua/COPYRIGHT +34 -0
  37. data/test/fixtures/app/vendor/lua/HISTORY +183 -0
  38. data/test/fixtures/app/vendor/lua/INSTALL +99 -0
  39. data/test/fixtures/app/vendor/lua/Makefile +183 -0
  40. data/test/fixtures/app/vendor/lua/README +37 -0
  41. data/test/fixtures/app/vendor/lua/lapi.c +1080 -0
  42. data/test/fixtures/app/vendor/lua/lapi.h +16 -0
  43. data/test/fixtures/app/vendor/lua/lauxlib.c +653 -0
  44. data/test/fixtures/app/vendor/lua/lauxlib.h +174 -0
  45. data/test/fixtures/app/vendor/lua/lbaselib.c +643 -0
  46. data/test/fixtures/app/vendor/lua/lcode.c +839 -0
  47. data/test/fixtures/app/vendor/lua/lcode.h +76 -0
  48. data/test/fixtures/app/vendor/lua/ldblib.c +397 -0
  49. data/test/fixtures/app/vendor/lua/ldebug.c +622 -0
  50. data/test/fixtures/app/vendor/lua/ldebug.h +33 -0
  51. data/test/fixtures/app/vendor/lua/ldo.c +516 -0
  52. data/test/fixtures/app/vendor/lua/ldo.h +57 -0
  53. data/test/fixtures/app/vendor/lua/ldump.c +164 -0
  54. data/test/fixtures/app/vendor/lua/lfunc.c +174 -0
  55. data/test/fixtures/app/vendor/lua/lfunc.h +34 -0
  56. data/test/fixtures/app/vendor/lua/lgc.c +711 -0
  57. data/test/fixtures/app/vendor/lua/lgc.h +110 -0
  58. data/test/fixtures/app/vendor/lua/liblua.a +0 -0
  59. data/test/fixtures/app/vendor/lua/linit.c +38 -0
  60. data/test/fixtures/app/vendor/lua/liolib.c +532 -0
  61. data/test/fixtures/app/vendor/lua/llex.c +461 -0
  62. data/test/fixtures/app/vendor/lua/llex.h +81 -0
  63. data/test/fixtures/app/vendor/lua/llimits.h +128 -0
  64. data/test/fixtures/app/vendor/lua/lmathlib.c +263 -0
  65. data/test/fixtures/app/vendor/lua/lmem.c +86 -0
  66. data/test/fixtures/app/vendor/lua/lmem.h +49 -0
  67. data/test/fixtures/app/vendor/lua/loadlib.c +664 -0
  68. data/test/fixtures/app/vendor/lua/lobject.c +214 -0
  69. data/test/fixtures/app/vendor/lua/lobject.h +381 -0
  70. data/test/fixtures/app/vendor/lua/lopcodes.c +102 -0
  71. data/test/fixtures/app/vendor/lua/lopcodes.h +268 -0
  72. data/test/fixtures/app/vendor/lua/loslib.c +244 -0
  73. data/test/fixtures/app/vendor/lua/lparser.c +1337 -0
  74. data/test/fixtures/app/vendor/lua/lparser.h +82 -0
  75. data/test/fixtures/app/vendor/lua/lstate.c +214 -0
  76. data/test/fixtures/app/vendor/lua/lstate.h +168 -0
  77. data/test/fixtures/app/vendor/lua/lstring.c +111 -0
  78. data/test/fixtures/app/vendor/lua/lstring.h +31 -0
  79. data/test/fixtures/app/vendor/lua/lstrlib.c +868 -0
  80. data/test/fixtures/app/vendor/lua/ltable.c +588 -0
  81. data/test/fixtures/app/vendor/lua/ltable.h +40 -0
  82. data/test/fixtures/app/vendor/lua/ltablib.c +278 -0
  83. data/test/fixtures/app/vendor/lua/ltm.c +75 -0
  84. data/test/fixtures/app/vendor/lua/ltm.h +54 -0
  85. data/test/fixtures/app/vendor/lua/lua.c +695 -0
  86. data/test/fixtures/app/vendor/lua/lua.h +385 -0
  87. data/test/fixtures/app/vendor/lua/lua_dub_helper.h +77 -0
  88. data/test/fixtures/app/vendor/lua/luac +0 -0
  89. data/test/fixtures/app/vendor/lua/luac.c +200 -0
  90. data/test/fixtures/app/vendor/lua/luaconf.h +762 -0
  91. data/test/fixtures/app/vendor/lua/lualib.h +53 -0
  92. data/test/fixtures/app/vendor/lua/lundump.c +223 -0
  93. data/test/fixtures/app/vendor/lua/lundump.h +36 -0
  94. data/test/fixtures/app/vendor/lua/lvm.c +765 -0
  95. data/test/fixtures/app/vendor/lua/lvm.h +36 -0
  96. data/test/fixtures/app/vendor/lua/lzio.c +82 -0
  97. data/test/fixtures/app/vendor/lua/lzio.h +67 -0
  98. data/test/fixtures/app/vendor/lua/matrix.h +102 -0
  99. data/test/fixtures/app/vendor/lua/print.c +227 -0
  100. data/test/fixtures/app/vendor/lua/test/README +26 -0
  101. data/test/fixtures/app/vendor/lua/test/bisect.lua +27 -0
  102. data/test/fixtures/app/vendor/lua/test/cf.lua +16 -0
  103. data/test/fixtures/app/vendor/lua/test/echo.lua +5 -0
  104. data/test/fixtures/app/vendor/lua/test/env.lua +7 -0
  105. data/test/fixtures/app/vendor/lua/test/factorial.lua +32 -0
  106. data/test/fixtures/app/vendor/lua/test/fib.lua +40 -0
  107. data/test/fixtures/app/vendor/lua/test/fibfor.lua +13 -0
  108. data/test/fixtures/app/vendor/lua/test/globals.lua +13 -0
  109. data/test/fixtures/app/vendor/lua/test/hello.lua +3 -0
  110. data/test/fixtures/app/vendor/lua/test/life.lua +111 -0
  111. data/test/fixtures/app/vendor/lua/test/luac.lua +7 -0
  112. data/test/fixtures/app/vendor/lua/test/printf.lua +7 -0
  113. data/test/fixtures/app/vendor/lua/test/readonly.lua +12 -0
  114. data/test/fixtures/app/vendor/lua/test/sieve.lua +29 -0
  115. data/test/fixtures/app/vendor/lua/test/sort.lua +66 -0
  116. data/test/fixtures/app/vendor/lua/test/table.lua +12 -0
  117. data/test/fixtures/app/vendor/lua/test/trace-calls.lua +32 -0
  118. data/test/fixtures/app/vendor/lua/test/trace-globals.lua +38 -0
  119. data/test/fixtures/app/vendor/lua/test/xd.lua +14 -0
  120. data/test/fixtures/app/xml/classdub_1_1_matrix.xml +239 -0
  121. data/test/fixtures/app/xml/classdub_1_1_t_mat.xml +233 -0
  122. data/test/fixtures/app/xml/combine.xslt +15 -0
  123. data/test/fixtures/app/xml/compound.xsd +814 -0
  124. data/test/fixtures/app/xml/dir_53661a2bdeb1d55e60581a7e15deb763.xml +12 -0
  125. data/test/fixtures/app/xml/index.xml +42 -0
  126. data/test/fixtures/app/xml/index.xsd +66 -0
  127. data/test/fixtures/app/xml/matrix_8h.xml +149 -0
  128. data/test/fixtures/app/xml/namespacedub.xml +41 -0
  129. data/test/fixtures/classcv_1_1_mat.xml +1996 -0
  130. data/test/fixtures/classcv_1_1_point__.xml +341 -0
  131. data/test/fixtures/classcv_1_1_size__.xml +270 -0
  132. data/test/fixtures/group___magic_type.xml +406 -0
  133. data/test/fixtures/namespacecv.xml +12659 -0
  134. data/test/function_group_test.rb +15 -0
  135. data/test/function_test.rb +252 -0
  136. data/test/group_test.rb +155 -0
  137. data/test/helper.rb +34 -0
  138. data/test/klass_test.rb +297 -0
  139. data/test/lua_function_gen_test.rb +179 -0
  140. data/test/namespace_test.rb +220 -0
  141. data/test/parser_test.rb +36 -0
  142. metadata +216 -0
@@ -0,0 +1,111 @@
1
+ -- life.lua
2
+ -- original by Dave Bollinger <DBollinger@compuserve.com> posted to lua-l
3
+ -- modified to use ANSI terminal escape sequences
4
+ -- modified to use for instead of while
5
+
6
+ local write=io.write
7
+
8
+ ALIVE="�" DEAD="�"
9
+ ALIVE="O" DEAD="-"
10
+
11
+ function delay() -- NOTE: SYSTEM-DEPENDENT, adjust as necessary
12
+ for i=1,10000 do end
13
+ -- local i=os.clock()+1 while(os.clock()<i) do end
14
+ end
15
+
16
+ function ARRAY2D(w,h)
17
+ local t = {w=w,h=h}
18
+ for y=1,h do
19
+ t[y] = {}
20
+ for x=1,w do
21
+ t[y][x]=0
22
+ end
23
+ end
24
+ return t
25
+ end
26
+
27
+ _CELLS = {}
28
+
29
+ -- give birth to a "shape" within the cell array
30
+ function _CELLS:spawn(shape,left,top)
31
+ for y=0,shape.h-1 do
32
+ for x=0,shape.w-1 do
33
+ self[top+y][left+x] = shape[y*shape.w+x+1]
34
+ end
35
+ end
36
+ end
37
+
38
+ -- run the CA and produce the next generation
39
+ function _CELLS:evolve(next)
40
+ local ym1,y,yp1,yi=self.h-1,self.h,1,self.h
41
+ while yi > 0 do
42
+ local xm1,x,xp1,xi=self.w-1,self.w,1,self.w
43
+ while xi > 0 do
44
+ local sum = self[ym1][xm1] + self[ym1][x] + self[ym1][xp1] +
45
+ self[y][xm1] + self[y][xp1] +
46
+ self[yp1][xm1] + self[yp1][x] + self[yp1][xp1]
47
+ next[y][x] = ((sum==2) and self[y][x]) or ((sum==3) and 1) or 0
48
+ xm1,x,xp1,xi = x,xp1,xp1+1,xi-1
49
+ end
50
+ ym1,y,yp1,yi = y,yp1,yp1+1,yi-1
51
+ end
52
+ end
53
+
54
+ -- output the array to screen
55
+ function _CELLS:draw()
56
+ local out="" -- accumulate to reduce flicker
57
+ for y=1,self.h do
58
+ for x=1,self.w do
59
+ out=out..(((self[y][x]>0) and ALIVE) or DEAD)
60
+ end
61
+ out=out.."\n"
62
+ end
63
+ write(out)
64
+ end
65
+
66
+ -- constructor
67
+ function CELLS(w,h)
68
+ local c = ARRAY2D(w,h)
69
+ c.spawn = _CELLS.spawn
70
+ c.evolve = _CELLS.evolve
71
+ c.draw = _CELLS.draw
72
+ return c
73
+ end
74
+
75
+ --
76
+ -- shapes suitable for use with spawn() above
77
+ --
78
+ HEART = { 1,0,1,1,0,1,1,1,1; w=3,h=3 }
79
+ GLIDER = { 0,0,1,1,0,1,0,1,1; w=3,h=3 }
80
+ EXPLODE = { 0,1,0,1,1,1,1,0,1,0,1,0; w=3,h=4 }
81
+ FISH = { 0,1,1,1,1,1,0,0,0,1,0,0,0,0,1,1,0,0,1,0; w=5,h=4 }
82
+ BUTTERFLY = { 1,0,0,0,1,0,1,1,1,0,1,0,0,0,1,1,0,1,0,1,1,0,0,0,1; w=5,h=5 }
83
+
84
+ -- the main routine
85
+ function LIFE(w,h)
86
+ -- create two arrays
87
+ local thisgen = CELLS(w,h)
88
+ local nextgen = CELLS(w,h)
89
+
90
+ -- create some life
91
+ -- about 1000 generations of fun, then a glider steady-state
92
+ thisgen:spawn(GLIDER,5,4)
93
+ thisgen:spawn(EXPLODE,25,10)
94
+ thisgen:spawn(FISH,4,12)
95
+
96
+ -- run until break
97
+ local gen=1
98
+ write("\027[2J") -- ANSI clear screen
99
+ while 1 do
100
+ thisgen:evolve(nextgen)
101
+ thisgen,nextgen = nextgen,thisgen
102
+ write("\027[H") -- ANSI home cursor
103
+ thisgen:draw()
104
+ write("Life - generation ",gen,"\n")
105
+ gen=gen+1
106
+ if gen>2000 then break end
107
+ --delay() -- no delay
108
+ end
109
+ end
110
+
111
+ LIFE(40,20)
@@ -0,0 +1,7 @@
1
+ -- bare-bones luac in Lua
2
+ -- usage: lua luac.lua file.lua
3
+
4
+ assert(arg[1]~=nil and arg[2]==nil,"usage: lua luac.lua file.lua")
5
+ f=assert(io.open("luac.out","wb"))
6
+ assert(f:write(string.dump(assert(loadfile(arg[1])))))
7
+ assert(f:close())
@@ -0,0 +1,7 @@
1
+ -- an implementation of printf
2
+
3
+ function printf(...)
4
+ io.write(string.format(...))
5
+ end
6
+
7
+ printf("Hello %s from %s on %s\n",os.getenv"USER" or "there",_VERSION,os.date())
@@ -0,0 +1,12 @@
1
+ -- make global variables readonly
2
+
3
+ local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
4
+ local g={}
5
+ local G=getfenv()
6
+ setmetatable(g,{__index=G,__newindex=f})
7
+ setfenv(1,g)
8
+
9
+ -- an example
10
+ rawset(g,"x",3)
11
+ x=2
12
+ y=1 -- cannot redefine `y'
@@ -0,0 +1,29 @@
1
+ -- the sieve of of Eratosthenes programmed with coroutines
2
+ -- typical usage: lua -e N=1000 sieve.lua | column
3
+
4
+ -- generate all the numbers from 2 to n
5
+ function gen (n)
6
+ return coroutine.wrap(function ()
7
+ for i=2,n do coroutine.yield(i) end
8
+ end)
9
+ end
10
+
11
+ -- filter the numbers generated by `g', removing multiples of `p'
12
+ function filter (p, g)
13
+ return coroutine.wrap(function ()
14
+ while 1 do
15
+ local n = g()
16
+ if n == nil then return end
17
+ if math.mod(n, p) ~= 0 then coroutine.yield(n) end
18
+ end
19
+ end)
20
+ end
21
+
22
+ N=N or 1000 -- from command line
23
+ x = gen(N) -- generate primes up to N
24
+ while 1 do
25
+ local n = x() -- pick a number until done
26
+ if n == nil then break end
27
+ print(n) -- must be a prime number
28
+ x = filter(n, x) -- now remove its multiples
29
+ end
@@ -0,0 +1,66 @@
1
+ -- two implementations of a sort function
2
+ -- this is an example only. Lua has now a built-in function "sort"
3
+
4
+ -- extracted from Programming Pearls, page 110
5
+ function qsort(x,l,u,f)
6
+ if l<u then
7
+ local m=math.random(u-(l-1))+l-1 -- choose a random pivot in range l..u
8
+ x[l],x[m]=x[m],x[l] -- swap pivot to first position
9
+ local t=x[l] -- pivot value
10
+ m=l
11
+ local i=l+1
12
+ while i<=u do
13
+ -- invariant: x[l+1..m] < t <= x[m+1..i-1]
14
+ if f(x[i],t) then
15
+ m=m+1
16
+ x[m],x[i]=x[i],x[m] -- swap x[i] and x[m]
17
+ end
18
+ i=i+1
19
+ end
20
+ x[l],x[m]=x[m],x[l] -- swap pivot to a valid place
21
+ -- x[l+1..m-1] < x[m] <= x[m+1..u]
22
+ qsort(x,l,m-1,f)
23
+ qsort(x,m+1,u,f)
24
+ end
25
+ end
26
+
27
+ function selectionsort(x,n,f)
28
+ local i=1
29
+ while i<=n do
30
+ local m,j=i,i+1
31
+ while j<=n do
32
+ if f(x[j],x[m]) then m=j end
33
+ j=j+1
34
+ end
35
+ x[i],x[m]=x[m],x[i] -- swap x[i] and x[m]
36
+ i=i+1
37
+ end
38
+ end
39
+
40
+ function show(m,x)
41
+ io.write(m,"\n\t")
42
+ local i=1
43
+ while x[i] do
44
+ io.write(x[i])
45
+ i=i+1
46
+ if x[i] then io.write(",") end
47
+ end
48
+ io.write("\n")
49
+ end
50
+
51
+ function testsorts(x)
52
+ local n=1
53
+ while x[n] do n=n+1 end; n=n-1 -- count elements
54
+ show("original",x)
55
+ qsort(x,1,n,function (x,y) return x<y end)
56
+ show("after quicksort",x)
57
+ selectionsort(x,n,function (x,y) return x>y end)
58
+ show("after reverse selection sort",x)
59
+ qsort(x,1,n,function (x,y) return x<y end)
60
+ show("after quicksort again",x)
61
+ end
62
+
63
+ -- array to be sorted
64
+ x={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}
65
+
66
+ testsorts(x)
@@ -0,0 +1,12 @@
1
+ -- make table, grouping all data for the same item
2
+ -- input is 2 columns (item, data)
3
+
4
+ local A
5
+ while 1 do
6
+ local l=io.read()
7
+ if l==nil then break end
8
+ local _,_,a,b=string.find(l,'"?([_%w]+)"?%s*(.*)$')
9
+ if a~=A then A=a io.write("\n",a,":") end
10
+ io.write(" ",b)
11
+ end
12
+ io.write("\n")
@@ -0,0 +1,32 @@
1
+ -- trace calls
2
+ -- example: lua -ltrace-calls bisect.lua
3
+
4
+ local level=0
5
+
6
+ local function hook(event)
7
+ local t=debug.getinfo(3)
8
+ io.write(level," >>> ",string.rep(" ",level))
9
+ if t~=nil and t.currentline>=0 then io.write(t.short_src,":",t.currentline," ") end
10
+ t=debug.getinfo(2)
11
+ if event=="call" then
12
+ level=level+1
13
+ else
14
+ level=level-1 if level<0 then level=0 end
15
+ end
16
+ if t.what=="main" then
17
+ if event=="call" then
18
+ io.write("begin ",t.short_src)
19
+ else
20
+ io.write("end ",t.short_src)
21
+ end
22
+ elseif t.what=="Lua" then
23
+ -- table.foreach(t,print)
24
+ io.write(event," ",t.name or "(Lua)"," <",t.linedefined,":",t.short_src,">")
25
+ else
26
+ io.write(event," ",t.name or "(C)"," [",t.what,"] ")
27
+ end
28
+ io.write("\n")
29
+ end
30
+
31
+ debug.sethook(hook,"cr")
32
+ level=0
@@ -0,0 +1,38 @@
1
+ -- trace assigments to global variables
2
+
3
+ do
4
+ -- a tostring that quotes strings. note the use of the original tostring.
5
+ local _tostring=tostring
6
+ local tostring=function(a)
7
+ if type(a)=="string" then
8
+ return string.format("%q",a)
9
+ else
10
+ return _tostring(a)
11
+ end
12
+ end
13
+
14
+ local log=function (name,old,new)
15
+ local t=debug.getinfo(3,"Sl")
16
+ local line=t.currentline
17
+ io.write(t.short_src)
18
+ if line>=0 then io.write(":",line) end
19
+ io.write(": ",name," is now ",tostring(new)," (was ",tostring(old),")","\n")
20
+ end
21
+
22
+ local g={}
23
+ local set=function (t,name,value)
24
+ log(name,g[name],value)
25
+ g[name]=value
26
+ end
27
+ setmetatable(getfenv(),{__index=g,__newindex=set})
28
+ end
29
+
30
+ -- an example
31
+
32
+ a=1
33
+ b=2
34
+ a=10
35
+ b=20
36
+ b=nil
37
+ b=200
38
+ print(a,b,c)
@@ -0,0 +1,14 @@
1
+ -- hex dump
2
+ -- usage: lua xd.lua < file
3
+
4
+ local offset=0
5
+ while true do
6
+ local s=io.read(16)
7
+ if s==nil then return end
8
+ io.write(string.format("%08X ",offset))
9
+ string.gsub(s,"(.)",
10
+ function (c) io.write(string.format("%02X ",string.byte(c))) end)
11
+ io.write(string.rep(" ",3*(16-string.len(s))))
12
+ io.write(" ",string.gsub(s,"%c","."),"\n")
13
+ offset=offset+16
14
+ end
@@ -0,0 +1,239 @@
1
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
2
+ <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
3
+ <compounddef id="classdub_1_1_matrix" kind="class" prot="public">
4
+ <compoundname>dub::Matrix</compoundname>
5
+ <sectiondef kind="private-attrib">
6
+ <memberdef kind="variable" id="classdub_1_1_matrix_1a134af4a94d273c34cc99e7645fb97917" prot="private" static="no" mutable="no">
7
+ <type>double *</type>
8
+ <definition>double* dub::Matrix::data_</definition>
9
+ <argsstring></argsstring>
10
+ <name>data_</name>
11
+ <briefdescription>
12
+ </briefdescription>
13
+ <detaileddescription>
14
+ </detaileddescription>
15
+ <inbodydescription>
16
+ </inbodydescription>
17
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="61" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="61" bodyend="-1"/>
18
+ </memberdef>
19
+ <memberdef kind="variable" id="classdub_1_1_matrix_1afbb3dac9aac8db0e6feffb8c61954065" prot="private" static="no" mutable="no">
20
+ <type>size_t</type>
21
+ <definition>size_t dub::Matrix::rows_</definition>
22
+ <argsstring></argsstring>
23
+ <name>rows_</name>
24
+ <briefdescription>
25
+ </briefdescription>
26
+ <detaileddescription>
27
+ </detaileddescription>
28
+ <inbodydescription>
29
+ </inbodydescription>
30
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="62" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="62" bodyend="-1"/>
31
+ </memberdef>
32
+ <memberdef kind="variable" id="classdub_1_1_matrix_1a9820706da6cb36cf14dfefbb4eabc92d" prot="private" static="no" mutable="no">
33
+ <type>size_t</type>
34
+ <definition>size_t dub::Matrix::cols_</definition>
35
+ <argsstring></argsstring>
36
+ <name>cols_</name>
37
+ <briefdescription>
38
+ </briefdescription>
39
+ <detaileddescription>
40
+ </detaileddescription>
41
+ <inbodydescription>
42
+ </inbodydescription>
43
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="63" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="63" bodyend="-1"/>
44
+ </memberdef>
45
+ </sectiondef>
46
+ <sectiondef kind="public-func">
47
+ <memberdef kind="function" id="classdub_1_1_matrix_1a2d7bfdf38d81c5ec81dff23030d2b569" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
48
+ <type></type>
49
+ <definition>dub::Matrix::Matrix</definition>
50
+ <argsstring>()</argsstring>
51
+ <name>Matrix</name>
52
+ <briefdescription>
53
+ </briefdescription>
54
+ <detaileddescription>
55
+ </detaileddescription>
56
+ <inbodydescription>
57
+ </inbodydescription>
58
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="14" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="14" bodyend="14"/>
59
+ </memberdef>
60
+ <memberdef kind="function" id="classdub_1_1_matrix_1a87d276a9bfb52dbe228a19c2eae63b4b" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
61
+ <type></type>
62
+ <definition>dub::Matrix::Matrix</definition>
63
+ <argsstring>(int rows, int cols)</argsstring>
64
+ <name>Matrix</name>
65
+ <param>
66
+ <type>int</type>
67
+ <declname>rows</declname>
68
+ </param>
69
+ <param>
70
+ <type>int</type>
71
+ <declname>cols</declname>
72
+ </param>
73
+ <briefdescription>
74
+ </briefdescription>
75
+ <detaileddescription>
76
+ </detaileddescription>
77
+ <inbodydescription>
78
+ </inbodydescription>
79
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="16" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="16" bodyend="18"/>
80
+ </memberdef>
81
+ <memberdef kind="function" id="classdub_1_1_matrix_1a7bbf87936b3a48a69fcc1a74038bdd25" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
82
+ <type></type>
83
+ <definition>dub::Matrix::~Matrix</definition>
84
+ <argsstring>()</argsstring>
85
+ <name>~Matrix</name>
86
+ <briefdescription>
87
+ </briefdescription>
88
+ <detaileddescription>
89
+ </detaileddescription>
90
+ <inbodydescription>
91
+ </inbodydescription>
92
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="20" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="20" bodyend="22"/>
93
+ </memberdef>
94
+ <memberdef kind="function" id="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
95
+ <type>size_t</type>
96
+ <definition>size_t dub::Matrix::size</definition>
97
+ <argsstring>()</argsstring>
98
+ <name>size</name>
99
+ <briefdescription>
100
+ </briefdescription>
101
+ <detaileddescription>
102
+ <para>Return size of matrix (rows * cols). </para> </detaileddescription>
103
+ <inbodydescription>
104
+ </inbodydescription>
105
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="25" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="25" bodyend="27"/>
106
+ </memberdef>
107
+ <memberdef kind="function" id="classdub_1_1_matrix_1ac13eec5120f1be537122fc2b9a35d12e" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
108
+ <type>double</type>
109
+ <definition>double dub::Matrix::cols</definition>
110
+ <argsstring>()</argsstring>
111
+ <name>cols</name>
112
+ <briefdescription>
113
+ </briefdescription>
114
+ <detaileddescription>
115
+ </detaileddescription>
116
+ <inbodydescription>
117
+ </inbodydescription>
118
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="29" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="29" bodyend="31"/>
119
+ </memberdef>
120
+ <memberdef kind="function" id="classdub_1_1_matrix_1aad380f21efca0eb8d076fa7801efe903" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
121
+ <type>double</type>
122
+ <definition>double dub::Matrix::rows</definition>
123
+ <argsstring>()</argsstring>
124
+ <name>rows</name>
125
+ <briefdescription>
126
+ </briefdescription>
127
+ <detaileddescription>
128
+ </detaileddescription>
129
+ <inbodydescription>
130
+ </inbodydescription>
131
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="33" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="33" bodyend="35"/>
132
+ </memberdef>
133
+ <memberdef kind="function" id="classdub_1_1_matrix_1a7a47bc085de140093ba358d345d58df7" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
134
+ <templateparamlist>
135
+ <param>
136
+ <type>class T</type>
137
+ </param>
138
+ </templateparamlist>
139
+ <type>T *</type>
140
+ <definition>T* dub::Matrix::give_me_tea</definition>
141
+ <argsstring>()</argsstring>
142
+ <name>give_me_tea</name>
143
+ <briefdescription>
144
+ </briefdescription>
145
+ <detaileddescription>
146
+ <para>Dummy template based class method. </para> </detaileddescription>
147
+ <inbodydescription>
148
+ </inbodydescription>
149
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="40" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="40" bodyend="42"/>
150
+ </memberdef>
151
+ <memberdef kind="function" id="classdub_1_1_matrix_1a27fea405cf08ac087a11eefbaf4a342f" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
152
+ <type></type>
153
+ <definition>dub::Matrix::operator size_t</definition>
154
+ <argsstring>()</argsstring>
155
+ <name>operator size_t</name>
156
+ <briefdescription>
157
+ </briefdescription>
158
+ <detaileddescription>
159
+ </detaileddescription>
160
+ <inbodydescription>
161
+ </inbodydescription>
162
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="44" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="44" bodyend="46"/>
163
+ </memberdef>
164
+ <memberdef kind="function" id="classdub_1_1_matrix_1ac159906fa5480fdc9539a7be1e1825ed" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
165
+ <type>void</type>
166
+ <definition>void dub::Matrix::mul</definition>
167
+ <argsstring>(TMat&lt; int &gt; other)</argsstring>
168
+ <name>mul</name>
169
+ <param>
170
+ <type><ref refid="classdub_1_1_t_mat" kindref="compound">TMat</ref>&lt; int &gt;</type>
171
+ <declname>other</declname>
172
+ </param>
173
+ <briefdescription>
174
+ </briefdescription>
175
+ <detaileddescription>
176
+ </detaileddescription>
177
+ <inbodydescription>
178
+ </inbodydescription>
179
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="48" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="48" bodyend="50"/>
180
+ </memberdef>
181
+ <memberdef kind="function" id="classdub_1_1_matrix_1a5bf5b5aee77c4e4a4cf906ce785fe37b" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
182
+ <type>void</type>
183
+ <definition>void dub::Matrix::do_something</definition>
184
+ <argsstring>(int i, bool fast=false)</argsstring>
185
+ <name>do_something</name>
186
+ <param>
187
+ <type>int</type>
188
+ <declname>i</declname>
189
+ </param>
190
+ <param>
191
+ <type>bool</type>
192
+ <declname>fast</declname>
193
+ <defval>false</defval>
194
+ </param>
195
+ <briefdescription>
196
+ </briefdescription>
197
+ <detaileddescription>
198
+ </detaileddescription>
199
+ <inbodydescription>
200
+ </inbodydescription>
201
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="52" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="52" bodyend="54"/>
202
+ </memberdef>
203
+ <memberdef kind="function" id="classdub_1_1_matrix_1a90798c27b8b4017a939f804481eb50ad" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
204
+ <type>int *</type>
205
+ <definition>int* dub::Matrix::ptr</definition>
206
+ <argsstring>()</argsstring>
207
+ <name>ptr</name>
208
+ <briefdescription>
209
+ </briefdescription>
210
+ <detaileddescription>
211
+ </detaileddescription>
212
+ <inbodydescription>
213
+ </inbodydescription>
214
+ <location file="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" line="56" bodyfile="/Users/gaspard/git/dub/test/fixtures/app/include/matrix.h" bodystart="56" bodyend="58"/>
215
+ </memberdef>
216
+ </sectiondef>
217
+ <briefdescription>
218
+ </briefdescription>
219
+ <detaileddescription>
220
+ </detaileddescription>
221
+ <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="64"/>
222
+ <listofallmembers>
223
+ <member refid="classdub_1_1_matrix_1ac13eec5120f1be537122fc2b9a35d12e" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>cols</name></member>
224
+ <member refid="classdub_1_1_matrix_1a9820706da6cb36cf14dfefbb4eabc92d" prot="private" virt="non-virtual"><scope>dub::Matrix</scope><name>cols_</name></member>
225
+ <member refid="classdub_1_1_matrix_1a134af4a94d273c34cc99e7645fb97917" prot="private" virt="non-virtual"><scope>dub::Matrix</scope><name>data_</name></member>
226
+ <member refid="classdub_1_1_matrix_1a5bf5b5aee77c4e4a4cf906ce785fe37b" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>do_something</name></member>
227
+ <member refid="classdub_1_1_matrix_1a7a47bc085de140093ba358d345d58df7" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>give_me_tea</name></member>
228
+ <member refid="classdub_1_1_matrix_1a2d7bfdf38d81c5ec81dff23030d2b569" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>Matrix</name></member>
229
+ <member refid="classdub_1_1_matrix_1a87d276a9bfb52dbe228a19c2eae63b4b" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>Matrix</name></member>
230
+ <member refid="classdub_1_1_matrix_1ac159906fa5480fdc9539a7be1e1825ed" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>mul</name></member>
231
+ <member refid="classdub_1_1_matrix_1a27fea405cf08ac087a11eefbaf4a342f" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>operator size_t</name></member>
232
+ <member refid="classdub_1_1_matrix_1a90798c27b8b4017a939f804481eb50ad" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>ptr</name></member>
233
+ <member refid="classdub_1_1_matrix_1aad380f21efca0eb8d076fa7801efe903" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>rows</name></member>
234
+ <member refid="classdub_1_1_matrix_1afbb3dac9aac8db0e6feffb8c61954065" prot="private" virt="non-virtual"><scope>dub::Matrix</scope><name>rows_</name></member>
235
+ <member refid="classdub_1_1_matrix_1a91cd7ece7296a2f2b37f2b629dc66fed" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>size</name></member>
236
+ <member refid="classdub_1_1_matrix_1a7bbf87936b3a48a69fcc1a74038bdd25" prot="public" virt="non-virtual"><scope>dub::Matrix</scope><name>~Matrix</name></member>
237
+ </listofallmembers>
238
+ </compounddef>
239
+ </doxygen>