summaryrefslogtreecommitdiff
path: root/sphinx/domains
diff options
context:
space:
mode:
authorArmin Ronacher <armin.ronacher@active-4.com>2011-09-22 10:33:15 +0200
committerArmin Ronacher <armin.ronacher@active-4.com>2011-09-22 10:33:15 +0200
commit9ac257a624084f6ec2e88d08440bfa10ccab4e15 (patch)
tree6f22d99caa9b1a75d82c1ef8ae251b6570d535e2 /sphinx/domains
parent50876de9a9d375635cb6cbfbba969425ec037b94 (diff)
downloadsphinx-9ac257a624084f6ec2e88d08440bfa10ccab4e15.tar.gz
Be explicit about rvalue references.
Diffstat (limited to 'sphinx/domains')
-rw-r--r--sphinx/domains/cpp.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py
index 99622977..77ec032d 100644
--- a/sphinx/domains/cpp.py
+++ b/sphinx/domains/cpp.py
@@ -303,7 +303,7 @@ class ArrayDefExpr(WrappingDefExpr):
)
-class RefDefExpr(WrappingDefExpr):
+class LValRefDefExpr(WrappingDefExpr):
def get_id(self):
return self.typename.get_id() + u'R'
@@ -312,6 +312,15 @@ class RefDefExpr(WrappingDefExpr):
return u'%s&' % self.typename
+class RValRefDefExpr(WrappingDefExpr):
+
+ def get_id(self):
+ return self.typename.get_id() + u'RR'
+
+ def __unicode__(self):
+ return u'%s&&' % self.typename
+
+
class ConstDefExpr(WrappingDefExpr):
def __init__(self, typename, prefix=False):
@@ -602,7 +611,10 @@ class DefinitionParser(object):
elif self.match(_array_def_re):
expr = ArrayDefExpr(expr, self.last_match.group(1))
elif self.skip_string('&'):
- expr = RefDefExpr(expr)
+ if self.skip_string('&'):
+ expr = RValRefDefExpr(expr)
+ else:
+ expr = LValRefDefExpr(expr)
else:
return expr