diff options
| author | Armin Ronacher <armin.ronacher@active-4.com> | 2011-09-22 10:33:15 +0200 |
|---|---|---|
| committer | Armin Ronacher <armin.ronacher@active-4.com> | 2011-09-22 10:33:15 +0200 |
| commit | 9ac257a624084f6ec2e88d08440bfa10ccab4e15 (patch) | |
| tree | 6f22d99caa9b1a75d82c1ef8ae251b6570d535e2 /sphinx/domains | |
| parent | 50876de9a9d375635cb6cbfbba969425ec037b94 (diff) | |
| download | sphinx-9ac257a624084f6ec2e88d08440bfa10ccab4e15.tar.gz | |
Be explicit about rvalue references.
Diffstat (limited to 'sphinx/domains')
| -rw-r--r-- | sphinx/domains/cpp.py | 16 |
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 |
