Example #1
0
        TType At <TType>(TreeQuery <TType> query) where TType : class
        {
            foreach (var element in Every(query))
            {
                return(element);
            }

            return(null);
        }
Example #2
0
        Every <TType>(TreeQuery <TType> query) where TType : class
        {
            var inner      = GetTypedEnumerator();
            var enumerator =
                new QueriableTreeEnumerator <TType, QueriableTreeEnumerator <TElement, TInner, TInnerElement>, TElement>(
                    inner, query);

            return(new TreeEnumerable <TType, QueriableTreeEnumerator <TType,
                                                                       QueriableTreeEnumerator <TElement, TInner, TInnerElement>, TElement>, TType>(enumerator));
        }
Example #3
0
 internal TreeEnumerable(TInner inner, int skip = 0, TreeQuery <TElement> query = default(TreeQuery <TElement>))
 {
     Inner = inner;
     Query = query;
     Skip  = skip;
 }
Example #4
0
 internal QueriableTreeEnumerator(TInner inner, TreeQuery <TElement> query)
 {
     Inner   = inner;
     Query   = query;
     Current = inner.Current as TElement;
 }
Example #5
0
 static TreeEnumerable <Node, TreeEnumerator, Node> Enumerate(Node root, TreeEnumerationMode mode,
                                                              int skip, TreeQuery <Node> query)
 {
     return(new TreeEnumerable <Node, TreeEnumerator, Node>(new TreeEnumerator(root, mode), skip, query));
 }