code: def __iter__(self) -> Iterator[NodeKey]:
      if self.key_to_id is not None:
          return iter(self.key_to_id)
      return iter(range(self._N))
  
imports: from __future__ import annotations
  import operator
  from copy import deepcopy
  from typing import TYPE_CHECKING
  import cupy
  import networkx
  import numpy
  import pylibcugraph
  import nx_cugraph
  from ..utils import index_dtype
label_desc: Use image node_id 16 for calling the Graph obj's underlying member method code with example usage: obj.__iter__() and returns: iter, iter