+ @property
+ def _bt_can_seek_beginning_from_native(self):
+ # Here, we mimic the behavior of the C API:
+ #
+ # - If the iterator has a _can_seek_beginning attribute, read it and use
+ # that result.
+ # - Otherwise, the presence or absence of a `_seek_beginning`
+ # method indicates whether the iterator can seek beginning.
+ if hasattr(self, '_can_seek_beginning'):
+ can_seek_beginning = self._can_seek_beginning
+ utils._check_bool(can_seek_beginning)
+ return can_seek_beginning
+ else:
+ return hasattr(self, '_seek_beginning')
+
+ def _bt_seek_beginning_from_native(self):
+ self._seek_beginning()
+