summaryrefslogtreecommitdiff
path: root/sphinx/domains/cpp.py
diff options
context:
space:
mode:
authorArmin Ronacher <armin.ronacher@active-4.com>2011-09-22 11:15:46 +0200
committerArmin Ronacher <armin.ronacher@active-4.com>2011-09-22 11:15:46 +0200
commit246e7b1c52fd910cd229f6f4b38d1c5c22699af3 (patch)
tree61575280ad5116fe8e3810557c9770269cc4385b /sphinx/domains/cpp.py
parentf45fd6f402626c68f56f161500ea47b8bd4415a3 (diff)
downloadsphinx-246e7b1c52fd910cd229f6f4b38d1c5c22699af3.tar.gz
Added support for noexcept specifiers
Diffstat (limited to 'sphinx/domains/cpp.py')
-rw-r--r--sphinx/domains/cpp.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py
index d6a1055e..68cb6293 100644
--- a/sphinx/domains/cpp.py
+++ b/sphinx/domains/cpp.py
@@ -422,13 +422,14 @@ class MemberObjDefExpr(NamedDefExpr):
class FuncDefExpr(NamedDefExpr):
def __init__(self, name, visibility, static, explicit, constexpr, rv,
- signature, const, pure_virtual):
+ signature, const, noexcept, pure_virtual):
NamedDefExpr.__init__(self, name, visibility, static)
self.rv = rv
self.signature = signature
self.explicit = explicit
self.constexpr = constexpr
self.const = const
+ self.noexcept = noexcept
self.pure_virtual = pure_virtual
def get_id(self):
@@ -452,6 +453,8 @@ class FuncDefExpr(NamedDefExpr):
map(unicode, self.signature))))
if self.const:
buf.append(u'const')
+ if self.noexcept:
+ buf.append(u'noexcept')
if self.pure_virtual:
buf.append(u'= 0')
return u' '.join(buf)
@@ -772,6 +775,7 @@ class DefinitionParser(object):
args.append(ArgumentDefExpr(argtype, argname, default))
self.skip_ws()
const = self.skip_word_and_ws('const')
+ noexcept = self.skip_word_and_ws('noexcept')
if self.skip_string('='):
self.skip_ws()
if not (self.skip_string('0') or \
@@ -783,7 +787,7 @@ class DefinitionParser(object):
pure_virtual = True
else:
pure_virtual = False
- return args, const, pure_virtual
+ return args, const, noexcept, pure_virtual
def _parse_visibility_static(self):
visibility = 'public'