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
- LayoutEditorPart.cs
- ContextStack.cs
- Label.cs
- QilFactory.cs
- Interlocked.cs
- AttributeEmitter.cs
- EventLog.cs
- dbenumerator.cs
- RepeatButton.cs
- OleCmdHelper.cs
- StringDictionary.cs
- EnvironmentPermission.cs
- BatchWriter.cs
- EmissiveMaterial.cs
- ClientType.cs
- ToolStripPanelRow.cs
- SubMenuStyleCollection.cs
- BeginSelectCardRequest.cs
- XPathQueryGenerator.cs
- SrgsGrammar.cs
- SerializationHelper.cs
- MenuAdapter.cs
- RawStylusInputCustomDataList.cs
- FactoryMaker.cs
- SynchronousReceiveElement.cs
- WsdlBuildProvider.cs
- ToolBarOverflowPanel.cs
- SystemMulticastIPAddressInformation.cs
- SatelliteContractVersionAttribute.cs
- SolidColorBrush.cs
- PersonalizationProviderHelper.cs
- OleStrCAMarshaler.cs
- KeyboardDevice.cs
- DependencyPropertyChangedEventArgs.cs
- MSAAEventDispatcher.cs
- XmlDocumentFragment.cs
- FileClassifier.cs
- OracleFactory.cs
- GenericsInstances.cs
- SimpleFieldTemplateFactory.cs
- TextTreeTextElementNode.cs
- TcpActivation.cs
- COM2ComponentEditor.cs
- FormViewUpdatedEventArgs.cs
- StrokeNodeData.cs
- PriorityItem.cs
- DataGridRowEventArgs.cs
- FacetEnabledSchemaElement.cs
- TextTreePropertyUndoUnit.cs
- WebPartEventArgs.cs
- EnumConverter.cs
- ElementUtil.cs
- DependencyProperty.cs
- OverflowException.cs
- BindingBase.cs
- SortDescription.cs
- Block.cs
- ViewPort3D.cs
- PerformanceCounterPermission.cs
- DataRowCollection.cs
- XPathChildIterator.cs
- SecurityUniqueId.cs
- ArrayItemValue.cs
- RawStylusInputReport.cs
- Misc.cs
- SessionEndingEventArgs.cs
- EmptyEnumerator.cs
- HtmlInputImage.cs
- WsdlParser.cs
- DataGridHeaderBorder.cs
- LambdaCompiler.Unary.cs
- NullToBooleanConverter.cs
- SystemUnicastIPAddressInformation.cs
- DataGridViewSelectedRowCollection.cs
- ArgumentNullException.cs
- XamlFigureLengthSerializer.cs
- WpfKnownMemberInvoker.cs
- FloatSumAggregationOperator.cs
- SecurityResources.cs
- ForwardPositionQuery.cs
- Soap.cs
- CodeMemberProperty.cs
- DataControlFieldCollection.cs
- TimerEventSubscriptionCollection.cs
- dbdatarecord.cs
- Opcode.cs
- SQLInt16.cs
- RegexCompiler.cs
- ReflectionUtil.cs
- StylusTip.cs
- WebPartMovingEventArgs.cs
- ExceptionUtil.cs
- DataGridViewTopLeftHeaderCell.cs
- XmlSchemaSet.cs
- RequestCacheManager.cs
- Adorner.cs
- WebPartHeaderCloseVerb.cs
- invalidudtexception.cs
- DataControlField.cs
- RegionData.cs