
    i                          " S  S5      r g)c                       \ rS rSrSrSS jrS r\S 5       r\S 5       r	S r
S	 r\S
 5       r\S 5       r\S 5       rSrg)AbstractIter   a>  
Iterate over tree starting at `node`.

Base class for all iterators.

Keyword Args:
    filter_: function called with every `node` as argument, `node` is returned if `True`.
    stop: stop iteration at `node` if `stop` function returns `True` for `node`.
    maxlevel (int): maximum descending in the node hierarchy.
Nc                 B    Xl         X l        X0l        X@l        S U l        g N)nodefilter_stopmaxlevel_AbstractIter__iter)selfr   r   r	   r
   s        K/app/mltbenv/lib/python3.13/site-packages/anytree/iterators/abstractiter.py__init__AbstractIter.__init__   s    		     c                 J   U R                   nU R                  nU R                  =(       d    [        R                  nU R
                  =(       d    [        R                  n[        R                  SU5      (       a  / O[        R                  U/U5      nU R                  XSXB5      $ )Nr   )
r   r
   r   r   _AbstractIter__default_filterr	   _AbstractIter__default_stop_abort_at_level_get_children_iter)r   r   r
   r   r	   childrens         r   __initAbstractIter.__init   sx    yy==,,?,"?"?yy7L77%55aBB2HbHbdhcikoHpzz(T<<r   c                     g)NT r   s    r   __default_filterAbstractIter.__default_filter   s     r   c                     g)NFr   r   s    r   __default_stopAbstractIter.__default_stop"   s     r   c                     U $ r   r   r   s    r   __iter__AbstractIter.__iter__'   s    r   c                 p    U R                   c  U R                  5       U l         [        U R                   5      $ r   )r   _AbstractIter__initnextr#   s    r   __next__AbstractIter.__next__*   s(    ;;++-DKDKK  r   c                     [         er   )NotImplementedError)r   r   r	   r
   s       r   r   AbstractIter._iter/   s    !!r   c                      US L=(       a    X:  $ r   r   )levelr
   s     r   r   AbstractIter._abort_at_level3   s    t#8(88r   c                 N    U  Vs/ s H  o!" U5      (       a  M  UPM     sn$ s  snf r   r   )r   r	   childs      r   r   AbstractIter._get_children7   s     #+?8%4;8???s   "")__iterr   r
   r   r	   )NNN)__name__
__module____qualname____firstlineno____doc__r   r'   staticmethodr   r   r$   r)   r   r   r   __static_attributes__r   r   r   r   r      s    	=    !
 " " 9 9 @ @r   r   N)r   r   r   r   <module>r<      s   8@ 8@r   