Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / CacheAxisQuery.cs / 1305376 / CacheAxisQuery.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace MS.Internal.Xml.XPath { using System; using System.Xml; using System.Xml.XPath; using System.Diagnostics; using System.Collections.Generic; internal abstract class CacheAxisQuery : BaseAxisQuery { // int count; -- we reusing it here protected ListoutputBuffer; public CacheAxisQuery(Query qyInput, string name, string prefix, XPathNodeType typeTest) : base(qyInput, name, prefix, typeTest) { this.outputBuffer = new List (); this.count = 0; } protected CacheAxisQuery(CacheAxisQuery other) : base(other) { this.outputBuffer = new List (other.outputBuffer); this.count = other.count; } public override void Reset() { this.count = 0; } public override object Evaluate(XPathNodeIterator context) { base.Evaluate(context); outputBuffer.Clear(); return this; } public override XPathNavigator Advance() { Debug.Assert(0 <= count && count <= outputBuffer.Count); if (count < outputBuffer.Count) { return outputBuffer[count++]; } return null; } public override XPathNavigator Current { get { Debug.Assert(0 <= count && count <= outputBuffer.Count); if (count == 0) { return null; } return outputBuffer[count - 1]; } } public override int CurrentPosition { get { return count; } } public override int Count { get { return outputBuffer.Count; } } public override QueryProps Properties { get { return QueryProps.Merge | QueryProps.Cached | QueryProps.Position | QueryProps.Count; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ImageBrush.cs
- FamilyMap.cs
- StreamInfo.cs
- ReadWriteSpinLock.cs
- DefaultEventAttribute.cs
- InstanceValue.cs
- DebugView.cs
- WebPartChrome.cs
- Route.cs
- QuaternionConverter.cs
- SlipBehavior.cs
- LinkClickEvent.cs
- ConstNode.cs
- ApplicationInterop.cs
- TextServicesDisplayAttribute.cs
- Invariant.cs
- DataGridTextColumn.cs
- ItemType.cs
- EntityDataSourceUtil.cs
- Mouse.cs
- Types.cs
- RoleManagerEventArgs.cs
- ContextMenuStripActionList.cs
- SplitContainer.cs
- MultiBindingExpression.cs
- DiscriminatorMap.cs
- ByteStorage.cs
- OleDbTransaction.cs
- SoundPlayer.cs
- PKCS1MaskGenerationMethod.cs
- HiddenFieldPageStatePersister.cs
- PropertyValueUIItem.cs
- EntityClassGenerator.cs
- Button.cs
- RoutedEvent.cs
- LocationSectionRecord.cs
- MultiplexingFormatMapping.cs
- InputElement.cs
- PropertyManager.cs
- FontNamesConverter.cs
- ZipIOExtraFieldZip64Element.cs
- PerformanceCounterCategory.cs
- Memoizer.cs
- CodeDomConfigurationHandler.cs
- PartialList.cs
- MainMenu.cs
- CountdownEvent.cs
- DiscreteKeyFrames.cs
- FakeModelItemImpl.cs
- HealthMonitoringSectionHelper.cs
- PersonalizationProvider.cs
- MonikerSyntaxException.cs
- DataBindingExpressionBuilder.cs
- CacheDependency.cs
- ClientScriptManager.cs
- MessageSecurityOverMsmq.cs
- DataGridPageChangedEventArgs.cs
- CallbackValidatorAttribute.cs
- TextFormatterImp.cs
- XmlSerializerVersionAttribute.cs
- PropertyEmitter.cs
- XmlTextEncoder.cs
- SurrogateDataContract.cs
- BitArray.cs
- Point3D.cs
- CommandBindingCollection.cs
- COSERVERINFO.cs
- NaturalLanguageHyphenator.cs
- XmlAnyAttributeAttribute.cs
- ListControlConvertEventArgs.cs
- ProfessionalColors.cs
- GlyphRunDrawing.cs
- FormsAuthenticationUserCollection.cs
- WebBrowserSiteBase.cs
- CodeIdentifier.cs
- ColorDialog.cs
- ResourceProviderFactory.cs
- OleDbTransaction.cs
- HotSpotCollection.cs
- MemberRelationshipService.cs
- SignatureTargetIdManager.cs
- PenThreadWorker.cs
- WebPartsPersonalization.cs
- FontSource.cs
- log.cs
- HtmlWindow.cs
- BinaryObjectReader.cs
- SqlDataSourceFilteringEventArgs.cs
- WebServiceTypeData.cs
- MenuItemCollection.cs
- DelegateArgumentValue.cs
- WebPartDisplayMode.cs
- Point3D.cs
- SqlDataSource.cs
- SqlConnectionManager.cs
- FilterQuery.cs
- FixedTextPointer.cs
- TableSectionStyle.cs
- StatusBarDesigner.cs
- HitTestParameters3D.cs