Update Lua documentation script to use std:: instead of boost

This commit is contained in:
Robin Gareus 2023-03-25 00:07:30 +01:00
parent f2c309d7de
commit 5ce0bfb4e2

View File

@ -82,10 +82,10 @@ function my_die ($msg) {
} }
##function ptr_strip ($ctype) { ##function ptr_strip ($ctype) {
# # boost::shared_ptr<std::list<boost::shared_ptr<ARDOUR::Route>> > > # # std::shared_ptr<std::list<std::shared_ptr<ARDOUR::Route>> > >
# # -> std::list<ARDOUR::Route> # # -> std::list<ARDOUR::Route>
# $ctype = preg_replace ('/boost::shared_ptr<([^>]*)[ ]*>/', '$1', $ctype); # $ctype = preg_replace ('/std::shared_ptr<([^>]*)[ ]*>/', '$1', $ctype);
# return preg_replace ('/boost::shared_ptr<([^>]*)[ ]*>/', '$1', $ctype); # return preg_replace ('/std::shared_ptr<([^>]*)[ ]*>/', '$1', $ctype);
#} #}
function arg2lua ($argtype, $flags = 0) { function arg2lua ($argtype, $flags = 0) {
@ -454,7 +454,7 @@ foreach ($classlist as $ns => $cl) {
if ($c['lua'] == $ns) { if ($c['lua'] == $ns) {
if (strpos ($c['type'], 'Pointer Class') !== false) { if (strpos ($c['type'], 'Pointer Class') !== false) {
$classlist[$ns]['ptr'] = true; $classlist[$ns]['ptr'] = true;
$classlist[$ns]['cdecl'] = 'boost::shared_ptr< '.$c['decl']. ' >, boost::weak_ptr< '.$c['decl']. ' >'; $classlist[$ns]['cdecl'] = 'std::shared_ptr< '.$c['decl']. ' >, std::weak_ptr< '.$c['decl']. ' >';
break; break;
} else { } else {
$classlist[$ns]['cdecl'] = $c['decl']; $classlist[$ns]['cdecl'] = $c['decl'];
@ -519,8 +519,8 @@ function doxydoc ($canonical_declaration) {
return $api[$canonical_declaration]['doc']; return $api[$canonical_declaration]['doc'];
} }
// remove template namespace e.g. // remove template namespace e.g.
// "ARDOUR::Track::bounceable(boost::shared_ptr<ARDOUR::Processor>" // "ARDOUR::Track::bounceable(std::shared_ptr<ARDOUR::Processor>"
// "ARDOUR::Track::bounceable(boost::shared_ptr<Processor>" // "ARDOUR::Track::bounceable(std::shared_ptr<Processor>"
$cn = preg_replace ('/<[^>]*::([^>]*)>/', '<$1>', $canonical_declaration); $cn = preg_replace ('/<[^>]*::([^>]*)>/', '<$1>', $canonical_declaration);
if (isset ($api[$cn])) { if (isset ($api[$cn])) {
$dox_found++; $dox_found++;
@ -943,7 +943,7 @@ print (rv, ref[1], ref[2])
<h3>Pointer Classes</h3> <h3>Pointer Classes</h3>
<p> <p>
Libardour makes extensive use of reference counted <code>boost::shared_ptr</code> to manage lifetimes. Libardour makes extensive use of reference counted <code>std::shared_ptr</code> to manage lifetimes.
The Lua bindings provide a complete abstraction of this. There are no pointers in Lua. The Lua bindings provide a complete abstraction of this. There are no pointers in Lua.
For example a <?=typelink('ARDOUR:Route')?> is a pointer in C++, but Lua functions operate on it like it was a class instance. For example a <?=typelink('ARDOUR:Route')?> is a pointer in C++, but Lua functions operate on it like it was a class instance.
</p> </p>
@ -957,7 +957,7 @@ Construction may fail. e.g. <code><?=typelink('ARDOUR:LuaAPI')?>.newplugin()</co
may not be able to find the given plugin and hence cannot create an object. may not be able to find the given plugin and hence cannot create an object.
</p> </p>
<p> <p>
The second case if for <code>boost::weak_ptr</code>. As opposed to <code>boost::shared_ptr</code> weak-pointers are not reference counted. The second case if for <code>std::weak_ptr</code>. As opposed to <code>std::shared_ptr</code> weak-pointers are not reference counted.
The object may vanish at any time. The object may vanish at any time.
If Lua code calls a method on a nil object, the interpreter will raise an exception and the script will not continue. If Lua code calls a method on a nil object, the interpreter will raise an exception and the script will not continue.
This is not unlike <code>a = nil a:test()</code> which results in en error "<em>attempt to index a nil value</em>". This is not unlike <code>a = nil a:test()</code> which results in en error "<em>attempt to index a nil value</em>".