parameters: (
      tree: "intervaltree.IntervalTree[int, AddrRangeT]",
      addrs: typing.Union[int, range],
      adjustment: int = 0,
  )
docstring: Implements nodes_at for an IntervalTree.
      :param tree: The IntervalTree to search.
      :param addrs: The address or addresses to locate nodes at.
      :param adjustment: An adjustment to be applied to the search range before
             consulting the interval tree.
docstring_summary: Implements nodes_at for an IntervalTree.
      :param tree: The IntervalTree to search.
      :param addrs: The address or addresses to locate nodes at.
      :param adjustment: An adjustment to be applied to the search range before
             consulting the interval tree.
docstring_tokens: Implements nodes_at for an IntervalTree . : param tree : The IntervalTree to search . : param addrs : The address or addresses to locate nodes at . : param adjustment : An adjustment to be applied to the search range before consulting the interval tree .
function: def _nodes_at_interval_tree(
      tree: "intervaltree.IntervalTree[int, AddrRangeT]",
      addrs: typing.Union[int, range],
      adjustment: int = 0,
  ) -> typing.Iterable[AddrRangeT]:
      """
      Implements nodes_at for an IntervalTree.
      :param tree: The IntervalTree to search.
      :param addrs: The address or addresses to locate nodes at.
      :param adjustment: An adjustment to be applied to the search range before
             consulting the interval tree.
      """
  
      desired_range = get_desired_range(addrs)
      for interval in tree.overlap(
          desired_range.start + adjustment, desired_range.stop + adjustment
      ):
          # Check that it's actually in our desired range, which may have a
          # step value that excludes it. This is a constant time operation.
          if interval.data.address in desired_range:
              yield interval.data
function_tokens: def _nodes_at_interval_tree ( tree : "intervaltree.IntervalTree[int, AddrRangeT]" , addrs : typing . Union [ int , range ] , adjustment : int = 0 , ) -> typing . Iterable [ AddrRangeT ] : desired_range = get_desired_range ( addrs ) for interval in tree . overlap ( desired_range . start + adjustment , desired_range . stop + adjustment ) : # Check that it's actually in our desired range, which may have a # step value that excludes it. This is a constant time operation. if interval . data . address in desired_range : yield interval . data