Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Concurrent / Partitioner.cs / 1305376 / Partitioner.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // Partitioner.cs // //[....] // // Represents a particular way of splitting a collection into multiple partitions. // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System; using System.Collections.Generic; using System.Security.Permissions; using System.Threading; namespace System.Collections.Concurrent { ////// Represents a particular manner of splitting a data source into multiple partitions. /// ///Type of the elements in the collection. ////// [HostProtection(Synchronization = true, ExternalThreading = true)] public abstract class Partitioner/// Inheritors of ///must adhere to the following rules: /// ///
///- ///
should throw a /// if the requested partition count is less than or /// equal to zero. - ///
should always return a number of enumerables equal to the requested /// partition count. If the partitioner runs out of data and cannot create as many partitions as /// requested, an empty enumerator should be returned for each of the remaining partitions. If this rule /// is not followed, consumers of the implementation may throw a . - ///
and /// should never return null. If null is returned, a consumer of the implementation may throw a /// . - ///
and should always return /// partitions that can fully and uniquely enumerate the input data source. All of the data and only the /// data contained in the input source should be enumerated, with no duplication that was not already in /// the input, unless specifically required by the particular partitioner's design. If this is not /// followed, the output ordering may be scrambled. { /// /// Partitions the underlying collection into the given number of partitions. /// /// The number of partitions to create. ///A list containing public abstract IListenumerators. > GetPartitions(int partitionCount); /// /// Gets whether additional partitions can be created dynamically. /// ////// true if the ///can create partitions dynamically as they are /// requested; false if the can only allocate /// partitions statically. /// /// public virtual bool SupportsDynamicPartitions { get { return false; } } ////// If a derived class does not override and implement ///, /// should return false. The value of should not vary over the lifetime of this instance. /// /// Creates an object that can partition the underlying collection into a variable number of /// partitions. /// ////// ////// The returned object implements the ///interface. Calling GetEnumerator on the /// object creates another partition over the sequence. ////// The ///method is only supported if the /// property returns true. /// An object that can create partitions over the underlying data source. ///Dynamic partitioning is not supported by this /// partitioner. public virtual IEnumerableGetDynamicPartitions() { throw new NotSupportedException(Environment.GetResourceString("Partitioner_DynamicPartitionsNotSupported")); } } } // 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
- ContentType.cs
- RuntimeEnvironment.cs
- ProcessModuleDesigner.cs
- FunctionQuery.cs
- EdmError.cs
- SessionPageStateSection.cs
- PassportAuthenticationModule.cs
- OrderByLifter.cs
- URLEditor.cs
- HttpConfigurationContext.cs
- ListItem.cs
- TdsParserHelperClasses.cs
- DocumentViewerBaseAutomationPeer.cs
- CalendarDesigner.cs
- XmlNodeList.cs
- BoolExpr.cs
- Marshal.cs
- XmlSchemaAny.cs
- PipelineModuleStepContainer.cs
- NestPullup.cs
- XPathArrayIterator.cs
- DeviceContext.cs
- CodeNamespaceCollection.cs
- FixedHyperLink.cs
- HtmlInputHidden.cs
- HelpEvent.cs
- TransactionBridgeSection.cs
- FileBasedResourceGroveler.cs
- COM2ExtendedTypeConverter.cs
- PropertyChangedEventArgs.cs
- ChameleonKey.cs
- SignatureToken.cs
- QuaternionRotation3D.cs
- TreeIterators.cs
- NotSupportedException.cs
- DataService.cs
- ChineseLunisolarCalendar.cs
- _DisconnectOverlappedAsyncResult.cs
- OdbcConnection.cs
- Lease.cs
- FlowPosition.cs
- ObjectCloneHelper.cs
- SingleStorage.cs
- ActivityCollectionMarkupSerializer.cs
- PropertyChangingEventArgs.cs
- AutomationElement.cs
- XhtmlBasicPageAdapter.cs
- SetterBaseCollection.cs
- SymLanguageType.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- OdbcParameterCollection.cs
- RegionInfo.cs
- JumpList.cs
- CreateRefExpr.cs
- GetMemberBinder.cs
- WebPartVerbCollection.cs
- MobilePage.cs
- WebRequestModulesSection.cs
- QilBinary.cs
- EpmSyndicationContentDeSerializer.cs
- RegexCompiler.cs
- AddToCollection.cs
- SoapProtocolImporter.cs
- FontWeights.cs
- XmlUtf8RawTextWriter.cs
- XmlTextEncoder.cs
- formatter.cs
- WorkflowDurableInstance.cs
- TiffBitmapEncoder.cs
- EventTrigger.cs
- DbConnectionPool.cs
- StrokeNodeData.cs
- dbenumerator.cs
- GlyphTypeface.cs
- UserControl.cs
- filewebrequest.cs
- StorageTypeMapping.cs
- RegexWriter.cs
- RemotingSurrogateSelector.cs
- QueryConverter.cs
- TextBox.cs
- SecureUICommand.cs
- DataGridViewTextBoxEditingControl.cs
- TextWriter.cs
- ProcessInputEventArgs.cs
- Expression.cs
- OutputCacheSection.cs
- Root.cs
- DropTarget.cs
- ClipboardData.cs
- PackWebRequestFactory.cs
- EntityViewGenerator.cs
- TypeRefElement.cs
- figurelength.cs
- BulletedList.cs
- WebCategoryAttribute.cs
- OleDbTransaction.cs
- MeshGeometry3D.cs
- ReferencedCollectionType.cs
- StructuredTypeEmitter.cs