public XPathMutableCursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(path, namespaces, parent) { if (null == parent) { throw Error.ArgumentNull("parent"); } if (null == path) { throw Error.ArgumentNull("path"); } if (null == knownTypes) { throw Error.ArgumentNull("knownTypes"); } if (!path.IsCreatable) { throw Error.XPathNotCreatable(path); } this.step = path.FirstStep; this.knownTypes = knownTypes; this.flags = flags; var source = parent.RequireRealizable <XPathNavigator>(); if (source.IsReal) { iterator = new XPathBufferedNodeIterator( source.Value.Select(path.FirstStep.Path)); } }
private XPathBufferedNodeIterator(XPathBufferedNodeIterator iterator) { items = iterator.items; index = iterator.index; }