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
- BindingSource.cs
- DriveNotFoundException.cs
- XmlSchemaInferenceException.cs
- SelectorItemAutomationPeer.cs
- BehaviorDragDropEventArgs.cs
- HyperlinkAutomationPeer.cs
- OleDbRowUpdatedEvent.cs
- ListItemCollection.cs
- DataTableNewRowEvent.cs
- SmtpMail.cs
- Util.cs
- FileSystemInfo.cs
- DbgUtil.cs
- Decorator.cs
- FixedDocumentPaginator.cs
- ContentElementAutomationPeer.cs
- XmlChoiceIdentifierAttribute.cs
- Point3DAnimation.cs
- AdapterDictionary.cs
- DataSourceGroupCollection.cs
- InternalConfigEventArgs.cs
- RawStylusInputReport.cs
- TagMapInfo.cs
- TileBrush.cs
- LogPolicy.cs
- FormDocumentDesigner.cs
- securitycriticaldataClass.cs
- ResXBuildProvider.cs
- ResXResourceReader.cs
- AuthenticationConfig.cs
- DefinitionProperties.cs
- SolidColorBrush.cs
- BeginEvent.cs
- PartialCachingAttribute.cs
- ReadWriteSpinLock.cs
- ApplicationInterop.cs
- ReversePositionQuery.cs
- CacheHelper.cs
- EncryptedData.cs
- ResourcePermissionBase.cs
- DocumentViewer.cs
- MetaColumn.cs
- DynamicDocumentPaginator.cs
- DefaultTraceListener.cs
- RouteUrlExpressionBuilder.cs
- XmlQualifiedNameTest.cs
- XmlDataSourceNodeDescriptor.cs
- PerformanceCountersElement.cs
- SymbolEqualComparer.cs
- OdbcEnvironment.cs
- NumberSubstitution.cs
- Binding.cs
- Latin1Encoding.cs
- DatagridviewDisplayedBandsData.cs
- RectangleGeometry.cs
- PropertyInfoSet.cs
- WebServicesSection.cs
- BaseDataList.cs
- LingerOption.cs
- WebPartConnectionsConnectVerb.cs
- GridPattern.cs
- JapaneseLunisolarCalendar.cs
- PreApplicationStartMethodAttribute.cs
- SqlParameterizer.cs
- DataKeyPropertyAttribute.cs
- Odbc32.cs
- NativeDirectoryServicesQueryAPIs.cs
- CmsUtils.cs
- QueryContinueDragEventArgs.cs
- HelpEvent.cs
- StringSorter.cs
- Validator.cs
- ObjectReaderCompiler.cs
- SafeFileMapViewHandle.cs
- Calendar.cs
- SoapClientProtocol.cs
- Ray3DHitTestResult.cs
- DataGridDetailsPresenter.cs
- MasterPage.cs
- OleDbErrorCollection.cs
- WebRequestModuleElementCollection.cs
- CopyAttributesAction.cs
- ContentTextAutomationPeer.cs
- XmlNavigatorStack.cs
- RelationshipEndMember.cs
- GenericTextProperties.cs
- TransformerConfigurationWizardBase.cs
- TypeInitializationException.cs
- MembershipPasswordException.cs
- LayoutInformation.cs
- wmiprovider.cs
- InstanceContextManager.cs
- EventLogPermissionAttribute.cs
- Metafile.cs
- SimpleTypeResolver.cs
- ClipboardProcessor.cs
- FormsAuthenticationEventArgs.cs
- DbDataAdapter.cs
- TableRowGroup.cs
- DataSourceControl.cs