C++ Class definition.
(internal) A C++ class/struct definition.
Constructor
.new (def)
Create a new class definition. Most of the attributes are passed with def
. Usage example:
local class = dub.Class { -- self can be a class or db (root) db = self.db or self, parent = parent, name = name, xml = elem, xml_headers = { {path = header.dir .. lub.Dir.sep .. elem.refid .. '.xml', dir = header.dir} }, }
Accessors
:fullname ()
The fullname of the class in the form of @parent::ClassName@.
:hasVariables ()
Returns true if the class has variables (public C attributes).
:needCast ()
Return true if the class needs a cast method (it has known superclasses).
:ignoreFunc (name)
Return true if the given function name should be ignored (do not create bindings).
:setName (name)
Set the class name and C++ object creation type.
:setOpt (opt)
Set options (usually from parsed C++ class comment).
Find
:namespace ()
Return the enclosing namespace or nil if none found.
:findChild (name)
Return a child element named name
or nil if nothing is found. Uses the database internally.
:method (name)
Return a method from a given @name@.
Iterators
:superclasses ()
Return an iterator over the superclasses of this class.
:constants ()
Return an iterator over the constants defined in this class.
:methods ()
Return an iterator over the methods of this class.
:attributes ()
Return an iterator over the attributes of this class.