Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlNavigatorStack.cs / 1305376 / XmlNavigatorStack.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Xml; using System.Xml.XPath; using System.Diagnostics; namespace System.Xml.Xsl.Runtime { ////// A dynamic stack of IXmlNavigators. /// internal struct XmlNavigatorStack { private XPathNavigator[] stkNav; // Stack of XPathNavigators private int sp; // Stack pointer (size of stack) #if DEBUG private const int InitialStackSize = 2; #else private const int InitialStackSize = 8; #endif ////// Push a navigator onto the stack /// public void Push(XPathNavigator nav) { if (this.stkNav == null) { this.stkNav = new XPathNavigator[InitialStackSize]; } else { if (this.sp >= this.stkNav.Length) { // Resize the stack XPathNavigator[] stkOld = this.stkNav; this.stkNav = new XPathNavigator[2 * this.sp]; Array.Copy(stkOld, this.stkNav, this.sp); } } this.stkNav[this.sp++] = nav; } ////// Pop the topmost navigator and return it /// public XPathNavigator Pop() { Debug.Assert(!IsEmpty); return this.stkNav[--this.sp]; } ////// Returns the navigator at the top of the stack without adjusting the stack pointer /// public XPathNavigator Peek() { Debug.Assert(!IsEmpty); return this.stkNav[this.sp - 1]; } ////// Remove all navigators from the stack /// public void Reset() { this.sp = 0; } ////// Returns true if there are no navigators in the stack /// public bool IsEmpty { get { return this.sp == 0; } } } } // 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
- XmlElementList.cs
- SqlEnums.cs
- ExtentJoinTreeNode.cs
- Quaternion.cs
- DynamicQueryableWrapper.cs
- Stylesheet.cs
- WebPartCatalogCloseVerb.cs
- TripleDESCryptoServiceProvider.cs
- ZoneMembershipCondition.cs
- GPPOINTF.cs
- XNodeSchemaApplier.cs
- RealProxy.cs
- LoadGrammarCompletedEventArgs.cs
- ExecutedRoutedEventArgs.cs
- LinqDataSourceValidationException.cs
- DataChangedEventManager.cs
- Soap12ProtocolImporter.cs
- BooleanProjectedSlot.cs
- SqlConnectionFactory.cs
- DashStyle.cs
- GridViewRow.cs
- TransactionScope.cs
- IndentedWriter.cs
- FormViewUpdateEventArgs.cs
- Helper.cs
- ExpressionBuilderCollection.cs
- DynamicActivityProperty.cs
- FormatException.cs
- TypeDescriptionProviderAttribute.cs
- WorkflowMarkupElementEventArgs.cs
- PreservationFileReader.cs
- TemplateInstanceAttribute.cs
- FixedSOMLineRanges.cs
- MediaSystem.cs
- TextStore.cs
- OleAutBinder.cs
- XmlNotation.cs
- Serializer.cs
- SQLStringStorage.cs
- MetaModel.cs
- BaseProcessProtocolHandler.cs
- SimpleModelProvider.cs
- EntityDataSourceContainerNameConverter.cs
- ReflectionHelper.cs
- Renderer.cs
- EnumValAlphaComparer.cs
- HtmlTableCellCollection.cs
- CqlWriter.cs
- ServicesExceptionNotHandledEventArgs.cs
- UnsafeNativeMethodsMilCoreApi.cs
- AppDomainProtocolHandler.cs
- AppDomainEvidenceFactory.cs
- RuntimeWrappedException.cs
- XXXOnTypeBuilderInstantiation.cs
- QueryStringParameter.cs
- XmlValidatingReaderImpl.cs
- SessionIDManager.cs
- LazyTextWriterCreator.cs
- WebMethodAttribute.cs
- StyleCollection.cs
- HwndTarget.cs
- SQLInt64.cs
- RenderCapability.cs
- DependentList.cs
- UnsafeNativeMethods.cs
- DateTimeValueSerializerContext.cs
- ConstraintManager.cs
- SchemaElement.cs
- EvidenceBase.cs
- Point4DValueSerializer.cs
- HierarchicalDataBoundControl.cs
- Rule.cs
- TextFindEngine.cs
- SessionSwitchEventArgs.cs
- TreeNodeCollection.cs
- XmlSchemaChoice.cs
- PolicyLevel.cs
- CryptoProvider.cs
- Control.cs
- SystemColors.cs
- HostingPreferredMapPath.cs
- CodeThrowExceptionStatement.cs
- MetadataException.cs
- ISAPIApplicationHost.cs
- DockPanel.cs
- PerfCounters.cs
- RuntimeHelpers.cs
- MembershipSection.cs
- RsaSecurityToken.cs
- SoapClientMessage.cs
- GenericPrincipal.cs
- TrackingMemoryStreamFactory.cs
- UIElement3D.cs
- SqlRowUpdatedEvent.cs
- NonBatchDirectoryCompiler.cs
- DBBindings.cs
- XmlAttribute.cs
- Application.cs
- DoubleLink.cs
- TextHintingModeValidation.cs