
    i                     &    S SK Jr   " S S\5      rg)   )AbstractIterc                   (    \ rS rSrSr\S 5       rSrg)PreOrderIter   a  
Iterate over tree applying pre-order strategy starting at `node`.

Start at root and go-down until reaching a leaf node.
Step upwards then, and search for the next leafs.

>>> from anytree import Node, RenderTree, AsciiStyle, PreOrderIter
>>> f = Node("f")
>>> b = Node("b", parent=f)
>>> a = Node("a", parent=b)
>>> d = Node("d", parent=b)
>>> c = Node("c", parent=d)
>>> e = Node("e", parent=d)
>>> g = Node("g", parent=f)
>>> i = Node("i", parent=g)
>>> h = Node("h", parent=i)
>>> print(RenderTree(f, style=AsciiStyle()).by_attr())
f
|-- b
|   |-- a
|   +-- d
|       |-- c
|       +-- e
+-- g
    +-- i
        +-- h
>>> [node.name for node in PreOrderIter(f)]
['f', 'b', 'a', 'd', 'c', 'e', 'g', 'i', 'h']
>>> [node.name for node in PreOrderIter(f, maxlevel=3)]
['f', 'b', 'a', 'd', 'g', 'i']
>>> [node.name for node in PreOrderIter(f, filter_=lambda n: n.name not in ('e', 'g'))]
['f', 'b', 'a', 'd', 'c', 'i', 'h']
>>> [node.name for node in PreOrderIter(f, stop=lambda n: n.name == 'd')]
['f', 'b', 'a', 'g', 'i', 'h']
c              #     #    U  Hx  nU" U5      (       a  M  U" U5      (       a  Uv   [         R                  " SU5      (       a  MA  U(       a  US-
  OS n[        R                  UR                  XU5       S h  vN   Mz     g  N	7f)N   r   )r   _abort_at_levelr   _iterchildren)r   filter_stopmaxlevelchild_descendantmaxlevels         K/app/mltbenv/lib/python3.13/site-packages/anytree/iterators/preorderiter.pyr
   PreOrderIter._iter)   sm     FF||v//8<<5=X\4"'--foowN`aaa  bs   A B2B8B9
B N)__name__
__module____qualname____firstlineno____doc__staticmethodr
   __static_attributes__r       r   r   r      s    "H b br   r   N)abstractiterr   r   r   r   r   <module>r      s    &.b< .br   