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
- DbMetaDataColumnNames.cs
- BookmarkScopeInfo.cs
- MetaTableHelper.cs
- NotFiniteNumberException.cs
- indexingfiltermarshaler.cs
- DiagnosticsConfiguration.cs
- HostedElements.cs
- Regex.cs
- ChannelCacheSettings.cs
- HtmlUtf8RawTextWriter.cs
- Substitution.cs
- HttpServerUtilityWrapper.cs
- TypefaceMetricsCache.cs
- SwitchElementsCollection.cs
- ObfuscationAttribute.cs
- NGCPageContentCollectionSerializerAsync.cs
- ToolStripArrowRenderEventArgs.cs
- OpacityConverter.cs
- EnterpriseServicesHelper.cs
- XmlWrappingWriter.cs
- SmiSettersStream.cs
- ReservationCollection.cs
- RegexMatchCollection.cs
- GuidTagList.cs
- ApplicationDirectory.cs
- FileStream.cs
- sqlser.cs
- WmlControlAdapter.cs
- TextEditorDragDrop.cs
- IpcServerChannel.cs
- ImportOptions.cs
- CollectionChangedEventManager.cs
- InheritanceRules.cs
- CompressionTracing.cs
- CompiledXpathExpr.cs
- NumericExpr.cs
- DataGridHeaderBorder.cs
- ComponentGuaranteesAttribute.cs
- ConstructorExpr.cs
- ConstructorBuilder.cs
- UriParserTemplates.cs
- RenderCapability.cs
- RoleManagerModule.cs
- TextDecorations.cs
- HyperLinkField.cs
- IconConverter.cs
- SqlNodeAnnotations.cs
- TypeUsageBuilder.cs
- HttpCachePolicy.cs
- TextTreeTextElementNode.cs
- TypeBuilderInstantiation.cs
- Message.cs
- StoreUtilities.cs
- Signature.cs
- BasicDesignerLoader.cs
- CodeCommentStatement.cs
- DataSourceXmlSubItemAttribute.cs
- Splitter.cs
- AssemblyCache.cs
- SelectionRange.cs
- FlowDocumentPaginator.cs
- TrimSurroundingWhitespaceAttribute.cs
- validation.cs
- DelayLoadType.cs
- ArrangedElement.cs
- CommandConverter.cs
- NamespaceQuery.cs
- SiteMapNode.cs
- OrderPreservingSpoolingTask.cs
- BindToObject.cs
- EventLogPermission.cs
- SelectionProcessor.cs
- FileFormatException.cs
- CalendarButton.cs
- TdsEnums.cs
- TreeViewDesigner.cs
- AppSettingsExpressionBuilder.cs
- HandledMouseEvent.cs
- SpanIndex.cs
- ObjectDataSourceView.cs
- XmlSerializerSection.cs
- OptimizerPatterns.cs
- DynamicDiscoSearcher.cs
- IPEndPointCollection.cs
- LinkLabelLinkClickedEvent.cs
- TdsParser.cs
- CodeCatchClause.cs
- Pkcs9Attribute.cs
- InterleavedZipPartStream.cs
- Transform.cs
- DataGridViewDataConnection.cs
- NameNode.cs
- DetailsViewActionList.cs
- SrgsRuleRef.cs
- SiteMapSection.cs
- ReadOnlyHierarchicalDataSource.cs
- MembershipValidatePasswordEventArgs.cs
- HuffmanTree.cs
- CriticalFinalizerObject.cs
- FreezableDefaultValueFactory.cs