Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / XmlNavigatorStack.cs / 1 / 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. //------------------------------------------------------------------------------ //// 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
- SqlMultiplexer.cs
- OdbcCommandBuilder.cs
- ObjectToken.cs
- ResXDataNode.cs
- WebPartChrome.cs
- HttpRequest.cs
- FixedBufferAttribute.cs
- DateTimeUtil.cs
- AutoCompleteStringCollection.cs
- CodeSubDirectoriesCollection.cs
- HtmlForm.cs
- DesignSurfaceEvent.cs
- SimpleRecyclingCache.cs
- ServiceOperationWrapper.cs
- MediaEntryAttribute.cs
- ProxyWebPart.cs
- FrameworkContentElement.cs
- BaseTemplateCodeDomTreeGenerator.cs
- FragmentNavigationEventArgs.cs
- ToolStripArrowRenderEventArgs.cs
- BinaryNode.cs
- XmlCharType.cs
- WindowsListViewItemCheckBox.cs
- DecoderExceptionFallback.cs
- ComplexTypeEmitter.cs
- FileUpload.cs
- FixedSOMTextRun.cs
- PermissionSet.cs
- WebConfigurationHostFileChange.cs
- XPathDocumentBuilder.cs
- SymDocumentType.cs
- UIElementParaClient.cs
- MenuStrip.cs
- XmlDictionaryString.cs
- EventHandlerList.cs
- ListSortDescription.cs
- CodeSpit.cs
- ThreadStateException.cs
- XsltFunctions.cs
- unsafeIndexingFilterStream.cs
- MethodMessage.cs
- InstanceLockQueryResult.cs
- SafeRightsManagementPubHandle.cs
- XmlQueryRuntime.cs
- OdbcCommandBuilder.cs
- PrimarySelectionAdorner.cs
- DataPagerFieldCollection.cs
- filewebresponse.cs
- PermissionSetEnumerator.cs
- ActivityIdHeader.cs
- TransformValueSerializer.cs
- ServiceContractListItemList.cs
- CreateInstanceBinder.cs
- SqlException.cs
- ImportCatalogPart.cs
- LoginUtil.cs
- ProxyAttribute.cs
- XmlNavigatorStack.cs
- IOException.cs
- ConfigXmlSignificantWhitespace.cs
- ColorConvertedBitmap.cs
- ValidatorCompatibilityHelper.cs
- SqlProviderManifest.cs
- SignatureToken.cs
- ToolStripSplitStackLayout.cs
- HtmlInputImage.cs
- GC.cs
- ProfileModule.cs
- WindowsServiceCredential.cs
- CalendarTable.cs
- FormParameter.cs
- DetailsViewUpdatedEventArgs.cs
- WebHttpSecurityModeHelper.cs
- FormatException.cs
- EventManager.cs
- Border.cs
- Interlocked.cs
- AbandonedMutexException.cs
- TextAnchor.cs
- OleServicesContext.cs
- WebBrowserNavigatingEventHandler.cs
- BrowserCapabilitiesCodeGenerator.cs
- ListViewDeleteEventArgs.cs
- XsdDuration.cs
- Int16Converter.cs
- XmlLoader.cs
- MergeFailedEvent.cs
- MetadataItemEmitter.cs
- CopyOfAction.cs
- GridViewColumnHeaderAutomationPeer.cs
- TablePattern.cs
- HostProtectionException.cs
- counter.cs
- SelectingProviderEventArgs.cs
- DoubleLink.cs
- BaseCollection.cs
- DataError.cs
- Paragraph.cs
- FilterableAttribute.cs
- BufferedGraphics.cs