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
- HtmlElementCollection.cs
- UpdateCommand.cs
- BaseDataListActionList.cs
- MailWebEventProvider.cs
- DocumentPageTextView.cs
- FormViewUpdatedEventArgs.cs
- CursorEditor.cs
- OdbcParameterCollection.cs
- WebPartMenuStyle.cs
- TextBoxAutomationPeer.cs
- WindowsAuthenticationModule.cs
- MetadataItemEmitter.cs
- SortedDictionary.cs
- DataGridRow.cs
- SqlExpander.cs
- FormsAuthenticationConfiguration.cs
- Select.cs
- GuidConverter.cs
- SplineQuaternionKeyFrame.cs
- Facet.cs
- AppSettingsReader.cs
- ToolStripLabel.cs
- JumpTask.cs
- FileUtil.cs
- documentsequencetextcontainer.cs
- ClientOptions.cs
- UserPreferenceChangingEventArgs.cs
- FontStyleConverter.cs
- TableCell.cs
- EntityContainerEmitter.cs
- OrCondition.cs
- ResourcePermissionBaseEntry.cs
- HttpApplication.cs
- ConfigurationPropertyAttribute.cs
- ping.cs
- ClientTargetSection.cs
- MetaModel.cs
- DataServiceExpressionVisitor.cs
- CultureTable.cs
- TypefaceCollection.cs
- RegexRunnerFactory.cs
- XMLUtil.cs
- TransformerInfo.cs
- BrowserCapabilitiesCodeGenerator.cs
- WindowsTab.cs
- RewritingProcessor.cs
- FieldNameLookup.cs
- FaultContext.cs
- Facet.cs
- RpcResponse.cs
- XmlSchemaGroup.cs
- Control.cs
- HitTestFilterBehavior.cs
- SqlBooleanizer.cs
- EmptyEnumerable.cs
- ProfileManager.cs
- securitycriticaldataClass.cs
- TimeStampChecker.cs
- NetCodeGroup.cs
- LayoutEditorPart.cs
- DataTableNewRowEvent.cs
- GACIdentityPermission.cs
- WebServiceTypeData.cs
- DbProviderSpecificTypePropertyAttribute.cs
- SqlBinder.cs
- SessionStateItemCollection.cs
- ControlTemplate.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- IndexObject.cs
- EvidenceBase.cs
- ResizeGrip.cs
- MemberDescriptor.cs
- TcpChannelListener.cs
- RsaKeyGen.cs
- AutoResetEvent.cs
- XmlComplianceUtil.cs
- LoginView.cs
- TextTreeInsertUndoUnit.cs
- PasswordPropertyTextAttribute.cs
- DataGridAutoFormat.cs
- CheckBoxFlatAdapter.cs
- UrlAuthFailedErrorFormatter.cs
- Cursors.cs
- ProfileProvider.cs
- FragmentNavigationEventArgs.cs
- NonPrimarySelectionGlyph.cs
- HandleCollector.cs
- CharEntityEncoderFallback.cs
- AuthenticationSection.cs
- DataServiceQuery.cs
- Matrix3D.cs
- OutputCacheProfile.cs
- SerializableAttribute.cs
- OleDbInfoMessageEvent.cs
- RemotingAttributes.cs
- KeyedPriorityQueue.cs
- WorkflowMarkupSerializer.cs
- FixedPage.cs
- DataGridViewSortCompareEventArgs.cs
- ResourceCategoryAttribute.cs