Example #1
0
 public bool MoveNext()
 {
     if (!iterationStarted)
     {
         current = original.Clone();
         iterationStarted = true;
     }
     if (current != null && current.MoveNext())
         return true;
     current = null;
     return false;
 }
Example #2
0
 public static XPath2NodeIterator Create(object value)
 {
     if (value == Undefined.Value)
         return EmptyIterator.Shared;
     XPath2NodeIterator iter = value as XPath2NodeIterator;
     if (iter != null)
         return iter.Clone();
     XPathItem item = value as XPathItem;
     if (item == null)
         item = new XPath2Item(value);
     return new SingleIterator(item);
 }
Example #3
0
        public static XPath2NodeIterator Create(object value)
        {
            if (value == Undefined.Value)
            {
                return(EmptyIterator.Shared);
            }
            XPath2NodeIterator iter = value as XPath2NodeIterator;

            if (iter != null)
            {
                return(iter.Clone());
            }
            XPathItem item = value as XPathItem;

            if (item == null)
            {
                item = new XPath2Item(value);
            }
            return(new SingleIterator(item));
        }
Example #4
0
        public bool DeepEqual(XPath2NodeIterator iter1, XPath2NodeIterator iter2)
        {
            iter1 = iter1.Clone();
            iter2 = iter2.Clone();
            bool flag1;
            bool flag2;

            do
            {
                flag1 = iter1.MoveNext();
                flag2 = iter2.MoveNext();
                if (flag1 != flag2)
                {
                    return(false);
                }
                else
                if (flag1 && flag2)
                {
                    if (iter1.Current.IsNode != iter2.Current.IsNode)
                    {
                        return(false);
                    }
                    else
                    {
                        if (iter1.Current.IsNode && iter2.Current.IsNode)
                        {
                            if (!NodeEqual((XPathNavigator)iter1.Current, (XPathNavigator)iter2.Current))
                            {
                                return(false);
                            }
                        }
                        else
                        if (!ItemEqual(iter1.Current, iter2.Current))
                        {
                            return(false);
                        }
                    }
                }
            }while (flag1 && flag2);
            return(true);
        }
Example #5
0
 public XPathNodeIteratorAdapter(XPath2NodeIterator iter)
 {
     this.iter = iter.Clone();
 }
Example #6
0
 public BufferedNodeIterator(XPath2NodeIterator src, bool clone)
 {
     this.src = clone ? src.Clone() : src;
     buffer   = new List <XPathItem>();
 }
 public XQueryNodeIteratorDebugView(XPath2NodeIterator iter)
 {
     this.iter = iter.Clone();
 }
 public Enumerator(XPath2NodeIterator iter)
 {
     original = iter.Clone();
 }