Lines Matching refs:fn
353 avl_inapply( Avlnode *root, AVL_APPLY fn, void* arg, int stopflag )
359 if ( avl_inapply( root->avl_left, fn, arg, stopflag )
363 if ( (*fn)( root->avl_data, arg ) == stopflag )
369 return( avl_inapply( root->avl_right, fn, arg, stopflag ) );
373 avl_postapply( Avlnode *root, AVL_APPLY fn, void* arg, int stopflag )
379 if ( avl_postapply( root->avl_left, fn, arg, stopflag )
384 if ( avl_postapply( root->avl_right, fn, arg, stopflag )
388 return( (*fn)( root->avl_data, arg ) );
392 avl_preapply( Avlnode *root, AVL_APPLY fn, void* arg, int stopflag )
397 if ( (*fn)( root->avl_data, arg ) == stopflag )
401 if ( avl_preapply( root->avl_left, fn, arg, stopflag )
408 return( avl_preapply( root->avl_right, fn, arg, stopflag ) );
412 * avl_apply -- avl tree root is traversed, function fn is called with
413 * arguments arg and the data portion of each node. if fn returns stopflag,
420 avl_apply( Avlnode *root, AVL_APPLY fn, void* arg, int stopflag, int type )
424 return( avl_inapply( root, fn, arg, stopflag ) );
426 return( avl_preapply( root, fn, arg, stopflag ) );
428 return( avl_postapply( root, fn, arg, stopflag ) );