The tuple pretty printer uses 1-based indeces which is quite confusing
considering the access to the same values with the std::get functions
uses 0-based indeces. This patch changes the pretty printer since
this is not a guaranteed API.
libstdc++-v3/ChangeLog:
* python/libstdcxx/v6/printers.py (class StdTuplePrinter): Use
zero-based indeces just like std:get takes.
# the value "as is".
fields = impl.type.fields ()
if len (fields) < 1 or fields[0].name != "_M_head_impl":
- return ('[%d]' % self.count, impl)
+ return ('[%d]' % (self.count - 1), impl)
else:
- return ('[%d]' % self.count, impl['_M_head_impl'])
+ return ('[%d]' % (self.count - 1), impl['_M_head_impl'])
def __init__ (self, typename, val):
self.typename = strip_versioned_namespace(typename)