コード例 #1
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathPredicateIterator(XPathPredicateIterator copy) : base(copy)
 {
     this.iterator   = (XPathBaseIterator)copy.iterator.Clone();
     this.predicate  = copy.predicate;
     this.resultType = copy.resultType;
     this.pos        = copy.pos;
 }
コード例 #2
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathSimpleIterator(XPathBaseIterator parent) : base(parent)
 {
     this.parent = parent;
     navigator   = parent.Current.Clone();
     current     = navigator.Clone();
     pos         = 0;
 }
コード例 #3
0
		public XPathSimpleIterator(XPathBaseIterator parent) : base (parent)
		{
			this.parent = parent;
			navigator = parent.Current.Clone();
			current = navigator.Clone();
			pos = 0;
		}
コード例 #4
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 /* caveat: the base ctor gets the useless parent arg */
 public XPathUnionIterator(XPathUnionIterator copy) : base(copy.parent)
 {
     this.left      = (XPathBaseIterator)copy.left.Clone();
     this.right     = (XPathBaseIterator)copy.right.Clone();
     this.moveRight = copy.moveRight;
     this.moveLeft  = copy.moveLeft;
 }
コード例 #5
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathPredicateIterator(XPathBaseIterator iterator,
                               Expression predicate)
     : base(iterator)
 {
     this.iterator   = iterator;
     this.predicate  = predicate;
     this.resultType = predicate.ReturnType;
 }
コード例 #6
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathUnionIterator(XPathBaseIterator iterator,
                           XPathBaseIterator left,
                           XPathBaseIterator right)
     : base(iterator)
 {
     this.left    = left;
     this.right   = right;
     this.current = null;
 }
コード例 #7
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathPrecedingSiblingIterator(XPathBaseIterator iterator)
     : base(iterator)
 {
     start = iterator.Current.Clone();
     if (start.NodeType == XPathNodeType.Attribute ||
         start.NodeType == XPathNodeType.Namespace)
     {
         finished = true;
     }
     navigator.MoveToFirst();
 }
コード例 #8
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
        public override bool MoveNext()
        {
            //TODO: depth first traversal - fix when doing Evaluate
            while (rhs == null || !rhs.MoveNext())
            {
                if (!lhs.MoveNext())
                {
                    return(false);
                }
                rhs = (XPathBaseIterator)expr.Evaluate(lhs);
            }

            pos++;
            // We have already done an rhs.MoveNext()
            return(true);
        }
コード例 #9
0
		public XPathAttributeIterator (XPathBaseIterator iterator) : base (iterator)
		{
		}
コード例 #10
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathPrecedingIterator(XPathBaseIterator iterator) : base(iterator)
 {
     /* remember where we started from and go up the tree */
     start = iterator.Current.Clone();
     this.navigator.MoveToRoot();
 }
コード例 #11
0
		public XPathSlashIterator(XPathSlashIterator copy)
			: base(copy)
		{
			this.lhs = (XPathBaseIterator) copy.lhs.Clone();
			this.expr = copy.expr;
		}
コード例 #12
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathAttributeIterator(XPathBaseIterator iterator) : base(iterator)
 {
 }
コード例 #13
0
		public XPathFollowingSiblingIterator (XPathBaseIterator iterator) 
			: base (iterator)
		{
		}
コード例 #14
0
		public XPathPrecedingIterator (XPathBaseIterator iterator) : base (iterator)
		{
			/* remember where we started from and go up the tree */
			start = iterator.Current.Clone();
			this.navigator.MoveToRoot();
		}
コード例 #15
0
		public XPathBaseIterator (XPathBaseIterator parent)
		{
			this.nsManager = parent.nsManager;
		}
コード例 #16
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathSlashIterator(XPathSlashIterator copy)
     : base(copy)
 {
     this.lhs  = (XPathBaseIterator)copy.lhs.Clone();
     this.expr = copy.expr;
 }
コード例 #17
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathSlashIterator(XPathBaseIterator lhs, Expression expr)
     : base(lhs)
 {
     this.lhs  = lhs;
     this.expr = expr;
 }
コード例 #18
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathBaseIterator(XPathBaseIterator parent)
 {
     this.nsManager = parent.nsManager;
 }
コード例 #19
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathNamespaceIterator(XPathBaseIterator iterator)
     : base(iterator)
 {
 }
コード例 #20
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathFollowingSiblingIterator(XPathBaseIterator iterator)
     : base(iterator)
 {
 }
コード例 #21
0
		public XPathAncestorOrSelfIterator (XPathBaseIterator iterator) : base (iterator)
		{
		}
コード例 #22
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathParentIterator(XPathBaseIterator iterator) : base(iterator)
 {
 }
コード例 #23
0
		public XPathParentIterator (XPathBaseIterator iterator) : base (iterator)
		{
		}
コード例 #24
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathAncestorOrSelfIterator(XPathBaseIterator iterator) : base(iterator)
 {
 }
コード例 #25
0
		public XPathDescendantOrSelfIterator (XPathBaseIterator iterator) : base (iterator)
		{
		}
コード例 #26
0
		public XPathPredicateIterator(XPathBaseIterator iterator,
									  Expression predicate) 
									  : base (iterator)
		{
			this.iterator = iterator;
			this.predicate = predicate;
			this.resultType = predicate.ReturnType;
		}
コード例 #27
0
		public XPathPrecedingSiblingIterator (XPathBaseIterator iterator) 
			: base (iterator)
		{
			start = iterator.Current.Clone();
			if(start.NodeType == XPathNodeType.Attribute ||
				start.NodeType == XPathNodeType.Namespace)
			{
				finished = true;
			}
			navigator.MoveToFirst();
		}
コード例 #28
0
		public XPathUnionIterator(XPathBaseIterator iterator, 
									XPathBaseIterator left,
									XPathBaseIterator right)
			: base(iterator)
		{
			this.left = left;
			this.right = right;
			this.current = null;
		}
コード例 #29
0
		public XPathNamespaceIterator (XPathBaseIterator iterator) 
			: base (iterator)
		{
		}
コード例 #30
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathChildIterator(XPathBaseIterator iterator) : base(iterator)
 {
 }
コード例 #31
0
		public XPathSlashIterator (XPathBaseIterator lhs, Expression expr)
			: base(lhs)
		{
			this.lhs = 	lhs;
			this.expr =  expr;
		}
コード例 #32
0
		public XPathChildIterator (XPathBaseIterator iterator) : base (iterator)
		{
		}
コード例 #33
0
		public override bool MoveNext()
		{
			//TODO: depth first traversal - fix when doing Evaluate
			while(rhs == null || !rhs.MoveNext())
			{
				if(!lhs.MoveNext())
				{
					return false;
				}
				rhs = (XPathBaseIterator)expr.Evaluate(lhs);
			}
			
			pos++;
			// We have already done an rhs.MoveNext()
			return true;
		}
コード例 #34
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathDescendantOrSelfIterator(XPathBaseIterator iterator) : base(iterator)
 {
 }
コード例 #35
0
		public XPathPredicateIterator(XPathPredicateIterator copy) : base(copy)
		{
			this.iterator = (XPathBaseIterator) copy.iterator.Clone();
			this.predicate = copy.predicate;
			this.resultType = copy.resultType;
			this.pos = copy.pos;
		}
コード例 #36
0
		public XPathSelfIterator(XPathBaseIterator parent) : base(parent)
		{
		}
コード例 #37
0
		/* caveat: the base ctor gets the useless parent arg */
		public XPathUnionIterator(XPathUnionIterator copy) : base(copy.parent)
		{
			this.left = (XPathBaseIterator)copy.left.Clone();
			this.right = (XPathBaseIterator)copy.right.Clone();
			this.moveRight = copy.moveRight;
			this.moveLeft = copy.moveLeft;
		}
コード例 #38
0
ファイル: XPathIterators.cs プロジェクト: ForNeVeR/pnet
 public XPathSelfIterator(XPathBaseIterator parent) : base(parent)
 {
 }