Beispiel #1
0
 public static void ReverseVisit <T>(this ITreeEnumeratorAdvisor <T> iteratorAdvisor, IEnumerator <T> treeItemsEnumerator, Action <T, AncestorsEnumerator <T> > visitor) where T : class
 {
     using var enumerator = TreeEnumerator.GetReverseEnumerator(treeItemsEnumerator, iteratorAdvisor);
     while (enumerator.MoveNext())
     {
         visitor(enumerator.Current, enumerator.CurrentAncestors);
     }
 }
Beispiel #2
0
        public static void ReverseVisit <T>(this ITreeEnumeratorAdvisor <T> iteratorAdvisor, T root, Action <T> visitor) where T : class
        {
            using var enumerator = TreeEnumerator.GetReverseEnumerator(root, iteratorAdvisor);

            while (enumerator.MoveNext())
            {
                visitor(enumerator.Current);
            }
        }
Beispiel #3
0
 public static ITreeEnumerator <T> GetReverseEnumerator <T>(this ITreeEnumeratorAdvisor <T> advisor, IEnumerator <T> treeItemsEnumerator) where T : class
 {
     return(TreeEnumerator.GetReverseEnumerator(treeItemsEnumerator, advisor));
 }
Beispiel #4
0
 public static ITreeEnumerator <T> GetReverseEnumerator <T>(this ITreeEnumeratorAdvisor <T> advisor, T root) where T : class
 {
     return(TreeEnumerator.GetReverseEnumerator(root, advisor));
 }