Skip to content

Commit 7915dfb

Browse files
committed
Merge pull request #12 from rmcgibbo/templated
Simple support for template functions
2 parents d96c458 + ac9d747 commit 7915dfb

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

sphinxcontrib/autodoc_doxygen/autodoc.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ def get_doc(self, encoding):
152152
return doc
153153

154154
def get_object_members(self, want_all):
155-
all_members = self.object.findall('.//sectiondef[@kind="public-func"]/memberdef[@kind="function"]')
155+
all_members = self.object.xpath('.//sectiondef[@kind="public-func" '
156+
'or @kind="public-static-func"]/memberdef[@kind="function"]')
156157

157158
if want_all:
158159
return False, ((m.find('name').text, m) for m in all_members)
@@ -227,8 +228,15 @@ def format_name(self):
227228
rtype = rtype_el_ref.text
228229
else:
229230
rtype = rtype_el.text
230-
return (rtype and (rtype + ' ') or '') + self.objname
231231

232+
signame = (rtype and (rtype + ' ') or '') + self.objname
233+
return self.format_template_name() + signame
234+
235+
def format_template_name(self):
236+
types = [e.text for e in self.object.findall('templateparamlist/param/type')]
237+
if len(types) == 0:
238+
return ''
239+
return 'template <%s>\n' % ','.join(types)
232240

233241
def format_signature(self):
234242
args = self.object.find('argsstring').text

0 commit comments

Comments
 (0)