Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ComboBoxItem.cs
- Point3DIndependentAnimationStorage.cs
- HtmlImage.cs
- ContainerUtilities.cs
- DataListItemEventArgs.cs
- SimpleMailWebEventProvider.cs
- CacheMemory.cs
- DataSetUtil.cs
- ResourceContainer.cs
- XsdDuration.cs
- EdmValidator.cs
- LinkUtilities.cs
- LocalizedNameDescriptionPair.cs
- RequiredAttributeAttribute.cs
- Int32CAMarshaler.cs
- DelegateHelpers.cs
- PolyBezierSegment.cs
- RoamingStoreFileUtility.cs
- DataException.cs
- XmlCharCheckingWriter.cs
- GridViewRowCollection.cs
- FormViewModeEventArgs.cs
- SoapTypeAttribute.cs
- SendMessageRecord.cs
- Typeface.cs
- FamilyTypefaceCollection.cs
- CardSpaceSelector.cs
- DbDeleteCommandTree.cs
- StateMachine.cs
- XsdDuration.cs
- ScriptingRoleServiceSection.cs
- HttpValueCollection.cs
- ContractSearchPattern.cs
- SqlDataSourceDesigner.cs
- SynchronizationLockException.cs
- ObjectDataSourceView.cs
- FormsAuthenticationUser.cs
- InlineCollection.cs
- ForceCopyBuildProvider.cs
- FormParameter.cs
- basemetadatamappingvisitor.cs
- BooleanConverter.cs
- assemblycache.cs
- FileInfo.cs
- MethodBuilder.cs
- IntPtr.cs
- ContextConfiguration.cs
- SHA384Cng.cs
- MarkupExtensionReturnTypeAttribute.cs
- OrderByQueryOptionExpression.cs
- MailBnfHelper.cs
- WebProxyScriptElement.cs
- FeatureSupport.cs
- DataGridViewTextBoxEditingControl.cs
- EventListener.cs
- odbcmetadatafactory.cs
- Attributes.cs
- QuaternionAnimation.cs
- TreeIterators.cs
- DataGridViewButtonCell.cs
- WsdlBuildProvider.cs
- TypeConverterHelper.cs
- DataBoundControlAdapter.cs
- IsolatedStorageException.cs
- VectorCollectionValueSerializer.cs
- WmlCalendarAdapter.cs
- DigitalSignature.cs
- CodeExpressionRuleDeclaration.cs
- TextParagraph.cs
- UserInitiatedNavigationPermission.cs
- ActivationArguments.cs
- DiscreteKeyFrames.cs
- EdgeModeValidation.cs
- RuleInfoComparer.cs
- TreeNodeCollection.cs
- SmiRecordBuffer.cs
- ProcessStartInfo.cs
- ArgumentFixer.cs
- StorageComplexTypeMapping.cs
- SymmetricAlgorithm.cs
- MorphHelper.cs
- VirtualDirectoryMapping.cs
- RealProxy.cs
- RefreshPropertiesAttribute.cs
- DataControlButton.cs
- KeyGestureConverter.cs
- FormsAuthentication.cs
- NativeMethodsCLR.cs
- ErrorActivity.cs
- HttpModulesSection.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- EventLogEntryCollection.cs
- RelationshipEndMember.cs
- DataObjectPastingEventArgs.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- ExpressionEditorAttribute.cs
- CodeSubDirectory.cs
- BitmapEffectDrawing.cs
- ResizeGrip.cs
- ValueSerializer.cs