Helper class to return values view.
| 459 | |
| 460 | |
| 461 | class ValuesView(ValuesViewBase[V]): |
| 462 | """Helper class to return values view.""" |
| 463 | |
| 464 | def __init__( |
| 465 | self, |
| 466 | backend_map: Map[K, V] | Dict[K, V], |
| 467 | iter_functor_getter: Callable[..., Callable[[int], Any]] | None = None, |
| 468 | ) -> None: |
| 469 | self._backend_map = backend_map |
| 470 | self._iter_functor_getter = iter_functor_getter or _ffi_api.MapForwardIterFunctor |
| 471 | |
| 472 | def __len__(self) -> int: |
| 473 | return len(self._backend_map) |
| 474 | |
| 475 | def __iter__(self) -> Iterator[V]: |
| 476 | size = len(self._backend_map) |
| 477 | functor: Callable[[int], Any] = self._iter_functor_getter(self._backend_map) |
| 478 | for _ in range(size): |
| 479 | value = cast(V, functor(1)) |
| 480 | yield value |
| 481 | if not functor(2): |
| 482 | break |
| 483 | |
| 484 | |
| 485 | class ItemsView(ItemsViewBase[K, V]): |