Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / FreeIndexList.cs / 1 / FreeIndexList.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Collections.Generic; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Manages the list of Free LocalIds in an IndexDataBuffer class // // Remarks: // This is for internal file store use only. // internal class FreeIndexList { Dictionary< Int32, Int32 > m_list; // // Summary: // Creates an instance of FreeIndexList // Parameters: // size: the initial size for the internal Int32 array // public FreeIndexList( int size ) { if( size <= 0 ) { //"value must be > 0" throw IDT.ThrowHelperError( new ArgumentOutOfRangeException( "size", size, SR.GetString( SR.StoreFreeListSizeOutOfRange ) ) ); } m_list = new Dictionary( size ); } // // Summary: // Determins if the specified LocalId is current in the FreeList // // Remarks: // // Parameters: // value: the value of the LocalId to test. // public bool Contains( Int32 value ) { if( value <= 0 ) { //"value must be > 0" throw IDT.ThrowHelperError( new ArgumentOutOfRangeException( "value", value, SR.GetString( SR.StoreFreeListValueOutOfRange ) ) ); } return m_list.ContainsKey( value ); } // // Summary: // Adds a LocalId to the free list // // Remarks: // // Parameters: // value: the value to add to the free list // public void Put( Int32 value ) { if( value <= 0 ) { throw IDT.ThrowHelperError( new ArgumentOutOfRangeException( "value", value, SR.GetString( SR.StoreFreeListValueOutOfRange ) ) ); } m_list.Add( value, value ); } // // Summary: // Get the first free index id available. // // Returns: // The first free item available. // // // Review: A straight hash table would be better here. // public Int32 GetNext() { int next = -1; if( m_list.Count > 0 ) { using( IEnumerator enumerator = m_list.Keys.GetEnumerator() ) { enumerator.MoveNext(); next = enumerator.Current; } m_list.Remove( next ); } return next; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SerialStream.cs
- Cursors.cs
- ProfileService.cs
- Deflater.cs
- BasicBrowserDialog.cs
- StorageFunctionMapping.cs
- ValidationPropertyAttribute.cs
- Publisher.cs
- CultureData.cs
- EmptyQuery.cs
- WebPartConnectionsConfigureVerb.cs
- SchemaImporterExtensionElementCollection.cs
- CodeNamespaceCollection.cs
- HandleExceptionArgs.cs
- LocalValueEnumerator.cs
- BlobPersonalizationState.cs
- securitycriticaldataformultiplegetandset.cs
- MultiAsyncResult.cs
- TCPListener.cs
- SystemPens.cs
- PolicyValidationException.cs
- FontWeights.cs
- ImageAutomationPeer.cs
- DeflateStream.cs
- AddInToken.cs
- WindowsSlider.cs
- UInt16Storage.cs
- Parameter.cs
- XmlUtf8RawTextWriter.cs
- ColorContextHelper.cs
- RegionInfo.cs
- ComboBox.cs
- OleDbWrapper.cs
- SystemNetworkInterface.cs
- ResourceReferenceKeyNotFoundException.cs
- IndentedWriter.cs
- Attributes.cs
- TargetControlTypeAttribute.cs
- OuterProxyWrapper.cs
- LayoutInformation.cs
- MdImport.cs
- SafeFileMappingHandle.cs
- PasswordTextNavigator.cs
- DataGridViewAdvancedBorderStyle.cs
- DetailsViewInsertedEventArgs.cs
- DBCommandBuilder.cs
- XPathNode.cs
- ComplexPropertyEntry.cs
- TextEditorCopyPaste.cs
- XamlPoint3DCollectionSerializer.cs
- assertwrapper.cs
- MarshalByRefObject.cs
- ActiveXContainer.cs
- XmlElementElementCollection.cs
- DataServiceBuildProvider.cs
- AddInActivator.cs
- KeyPressEvent.cs
- DateTimeStorage.cs
- ThousandthOfEmRealDoubles.cs
- ProgressBar.cs
- Emitter.cs
- XmlRootAttribute.cs
- AssociationSetMetadata.cs
- SiteMapProvider.cs
- LockingPersistenceProvider.cs
- EventLogReader.cs
- XmlSchemaChoice.cs
- AdRotator.cs
- Group.cs
- WebPartEditorOkVerb.cs
- IdleTimeoutMonitor.cs
- NullReferenceException.cs
- DataRelation.cs
- XmlFormatReaderGenerator.cs
- CommonGetThemePartSize.cs
- DeviceContext2.cs
- CompiledXpathExpr.cs
- SuppressMergeCheckAttribute.cs
- TaskHelper.cs
- SystemIcmpV4Statistics.cs
- UnitySerializationHolder.cs
- SyntaxCheck.cs
- UserUseLicenseDictionaryLoader.cs
- SQLCharsStorage.cs
- SmiEventStream.cs
- ModelVisual3D.cs
- XmlAutoDetectWriter.cs
- MethodBuilderInstantiation.cs
- MoveSizeWinEventHandler.cs
- ManagementEventWatcher.cs
- SafeRsaProviderHandle.cs
- BamlRecordWriter.cs
- XmlNamespaceMappingCollection.cs
- MediaCommands.cs
- ImageCodecInfoPrivate.cs
- dataprotectionpermission.cs
- SkewTransform.cs
- _RequestCacheProtocol.cs
- HostedNamedPipeTransportManager.cs
- FlagsAttribute.cs