Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Util / DoubleLinkList.cs / 1305376 / DoubleLinkList.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * DoubleLinkList * * Copyright (c) 1998-1999, Microsoft Corporation * */ namespace System.Web.Util { using System.Text; using System.Runtime.Serialization.Formatters; internal class DoubleLinkList : DoubleLink { internal DoubleLinkList() { } internal bool IsEmpty() { return _next == this; } internal virtual void InsertHead(DoubleLink entry) { entry.InsertAfter(this); } internal virtual void InsertTail(DoubleLink entry) { entry.InsertBefore(this); } internal DoubleLinkListEnumerator GetEnumerator() { return new DoubleLinkListEnumerator(this); } #if DBG internal override void DebugValidate() { DoubleLink l1, l2; base.DebugValidate(); /* * Detect loops by moving one pointer forward 2 for every 1 * of the other. */ l1 = l2 = this; for (;;) { /* move l2 forward */ l2 = l2._next; if (l2 == this) break; Debug.CheckValid(l2 != l1, "Invalid loop in list, first move."); l2.DebugValidate(); /* move l2 forward again */ l2 = l2._next; if (l2 == this) break; Debug.CheckValid(l2 != l1, "Invalid loop in list, second move."); l2.DebugValidate(); /* move l1 forward */ l1 = l1._next; } } internal override string DebugDescription(String indent) { string desc; DoubleLinkListEnumerator lenum; int c; StringBuilder sb; string i2 = indent + " "; if (IsEmpty()) { desc = indent + "DoubleLinkList is empty\n"; } else { c = Length; sb = new StringBuilder(indent + "DoubleLinkList has " + c + " entries.\n"); lenum = GetEnumerator(); while (lenum.MoveNext()) { sb.Append(Debug.GetDescription(lenum.GetDoubleLink(), i2)); } desc = sb.ToString(); } return desc; } #endif internal int Length { get { DoubleLinkListEnumerator lenum; int c; Debug.Validate(this); c = 0; lenum = GetEnumerator(); while (lenum.MoveNext()) { c++; } return c; } } } } // 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
- streamingZipPartStream.cs
- RootBrowserWindowProxy.cs
- LambdaCompiler.Statements.cs
- GraphicsContainer.cs
- DesignerMetadata.cs
- DataViewSetting.cs
- FormClosedEvent.cs
- ContainerParaClient.cs
- LabelInfo.cs
- DataControlReferenceCollection.cs
- GroupItemAutomationPeer.cs
- HostSecurityManager.cs
- DelayedRegex.cs
- PolicyException.cs
- TextEditorTyping.cs
- BooleanFunctions.cs
- OperandQuery.cs
- ValueExpressions.cs
- ScrollChrome.cs
- ResourceManager.cs
- StylusPointPropertyInfo.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- UTF32Encoding.cs
- InertiaTranslationBehavior.cs
- ControlBuilderAttribute.cs
- M3DUtil.cs
- VoiceChangeEventArgs.cs
- MasterPageBuildProvider.cs
- FrameworkContentElement.cs
- SerializationInfoEnumerator.cs
- ControlSerializer.cs
- Constants.cs
- Stopwatch.cs
- Timer.cs
- oledbmetadatacolumnnames.cs
- ManualResetEvent.cs
- DbConnectionClosed.cs
- ResourceExpression.cs
- HttpConfigurationContext.cs
- SurrogateEncoder.cs
- FastPropertyAccessor.cs
- SocketElement.cs
- IPGlobalProperties.cs
- SystemEvents.cs
- SettingsProviderCollection.cs
- OrderedDictionary.cs
- GlyphsSerializer.cs
- SiteMapDataSource.cs
- XmlDataLoader.cs
- CompositeFontParser.cs
- PrintPageEvent.cs
- StoreConnection.cs
- AlternateViewCollection.cs
- KeyEvent.cs
- ScrollProperties.cs
- Asn1IntegerConverter.cs
- FormClosedEvent.cs
- CollectionTypeElement.cs
- WindowsListViewSubItem.cs
- Marshal.cs
- DbDataSourceEnumerator.cs
- GlyphRunDrawing.cs
- UnsafeNativeMethodsTablet.cs
- ConfigurationStrings.cs
- GeneralTransform3DTo2D.cs
- MetricEntry.cs
- WebPartAuthorizationEventArgs.cs
- ProfileSection.cs
- MulticastIPAddressInformationCollection.cs
- InkPresenterAutomationPeer.cs
- SoapSchemaMember.cs
- Region.cs
- XNodeNavigator.cs
- IPAddress.cs
- HandlerFactoryCache.cs
- CustomValidator.cs
- MetadataItemCollectionFactory.cs
- WebPartConnectionsEventArgs.cs
- HttpApplicationFactory.cs
- ColumnMapProcessor.cs
- MulticastOption.cs
- RewritingProcessor.cs
- MatrixTransform3D.cs
- diagnosticsswitches.cs
- ReversePositionQuery.cs
- SQLInt32Storage.cs
- CodeBinaryOperatorExpression.cs
- XmlTypeAttribute.cs
- InlineObject.cs
- PageThemeCodeDomTreeGenerator.cs
- ProviderUtil.cs
- BamlBinaryWriter.cs
- SystemDropShadowChrome.cs
- ConfigPathUtility.cs
- CacheDependency.cs
- PasswordDeriveBytes.cs
- PropertyDescriptor.cs
- NameValuePermission.cs
- Timeline.cs
- AnimationLayer.cs