Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Linq / Parallel / QueryOperators / Options / OrderingQueryOperator.cs / 1305376 / OrderingQueryOperator.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // OrderingQueryOperator.cs // //[....] // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System.Collections.Generic; using System.Threading; namespace System.Linq.Parallel { ////// Represents operators AsOrdered and AsUnordered. In the current implementation, it /// simply turns on preservation globally in the query. /// ///internal sealed class OrderingQueryOperator : QueryOperator { // Turns on order (AsOrdered) or turns off order (AsUnordered) private bool m_orderOn; private QueryOperator m_child; private OrdinalIndexState m_ordinalIndexState; public OrderingQueryOperator(QueryOperator child, bool orderOn) : base(orderOn, child.SpecifiedQuerySettings) { m_child = child; m_ordinalIndexState = m_child.OrdinalIndexState; m_orderOn = orderOn; } internal override QueryResults Open(QuerySettings settings, bool preferStriping) { return m_child.Open(settings, preferStriping); } internal override IEnumerator GetEnumerator(ParallelMergeOptions? mergeOptions, bool suppressOrderPreservation) { ScanQueryOperator childAsScan = m_child as ScanQueryOperator ; if (childAsScan != null) { return childAsScan.Data.GetEnumerator(); } return base.GetEnumerator(mergeOptions, suppressOrderPreservation); } //---------------------------------------------------------------------------------------- // Returns an enumerable that represents the query executing sequentially. // internal override IEnumerable AsSequentialQuery(CancellationToken token) { return m_child.AsSequentialQuery(token); } //--------------------------------------------------------------------------------------- // Whether this operator performs a premature merge. // internal override bool LimitsParallelism { get { return m_child.LimitsParallelism; } } internal override OrdinalIndexState OrdinalIndexState { get { return m_ordinalIndexState; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // OrderingQueryOperator.cs // // [....] // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System.Collections.Generic; using System.Threading; namespace System.Linq.Parallel { ////// Represents operators AsOrdered and AsUnordered. In the current implementation, it /// simply turns on preservation globally in the query. /// ///internal sealed class OrderingQueryOperator : QueryOperator { // Turns on order (AsOrdered) or turns off order (AsUnordered) private bool m_orderOn; private QueryOperator m_child; private OrdinalIndexState m_ordinalIndexState; public OrderingQueryOperator(QueryOperator child, bool orderOn) : base(orderOn, child.SpecifiedQuerySettings) { m_child = child; m_ordinalIndexState = m_child.OrdinalIndexState; m_orderOn = orderOn; } internal override QueryResults Open(QuerySettings settings, bool preferStriping) { return m_child.Open(settings, preferStriping); } internal override IEnumerator GetEnumerator(ParallelMergeOptions? mergeOptions, bool suppressOrderPreservation) { ScanQueryOperator childAsScan = m_child as ScanQueryOperator ; if (childAsScan != null) { return childAsScan.Data.GetEnumerator(); } return base.GetEnumerator(mergeOptions, suppressOrderPreservation); } //---------------------------------------------------------------------------------------- // Returns an enumerable that represents the query executing sequentially. // internal override IEnumerable AsSequentialQuery(CancellationToken token) { return m_child.AsSequentialQuery(token); } //--------------------------------------------------------------------------------------- // Whether this operator performs a premature merge. // internal override bool LimitsParallelism { get { return m_child.LimitsParallelism; } } internal override OrdinalIndexState OrdinalIndexState { get { return m_ordinalIndexState; } } } } // 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
- PublisherMembershipCondition.cs
- RuleSettingsCollection.cs
- AvTraceDetails.cs
- RtfToXamlLexer.cs
- TileBrush.cs
- DocumentViewerHelper.cs
- ListBindableAttribute.cs
- Int32AnimationBase.cs
- CallbackWrapper.cs
- TraceHandler.cs
- MouseEvent.cs
- NullRuntimeConfig.cs
- _ConnectStream.cs
- GridViewSelectEventArgs.cs
- DataMisalignedException.cs
- BrowserCapabilitiesCompiler.cs
- StoreUtilities.cs
- BrowserCapabilitiesFactory.cs
- SizeFConverter.cs
- Lease.cs
- ListSourceHelper.cs
- TextTrailingCharacterEllipsis.cs
- X509ChainElement.cs
- IImplicitResourceProvider.cs
- StringArrayConverter.cs
- ContextItem.cs
- QueryUtil.cs
- DivideByZeroException.cs
- UriParserTemplates.cs
- COM2ComponentEditor.cs
- BuildResult.cs
- BaseHashHelper.cs
- SafeCryptoHandles.cs
- CookieParameter.cs
- DataGridViewCellPaintingEventArgs.cs
- ObjectDataSourceView.cs
- MediaTimeline.cs
- FixUp.cs
- StandardTransformFactory.cs
- PropertyChangedEventArgs.cs
- ProfileInfo.cs
- ResourcePool.cs
- Dictionary.cs
- UnitControl.cs
- TraceSwitch.cs
- AsymmetricAlgorithm.cs
- SafeThemeHandle.cs
- DataException.cs
- AlternateView.cs
- ClientSponsor.cs
- NullableLongMinMaxAggregationOperator.cs
- Rfc4050KeyFormatter.cs
- ContentTextAutomationPeer.cs
- DataGridColumnReorderingEventArgs.cs
- RepeaterItemCollection.cs
- CoreChannel.cs
- IriParsingElement.cs
- CacheAxisQuery.cs
- InternalDispatchObject.cs
- PermissionSetTriple.cs
- WebPartRestoreVerb.cs
- UserPreferenceChangedEventArgs.cs
- QuaternionConverter.cs
- ToolbarAUtomationPeer.cs
- DependentList.cs
- Event.cs
- Symbol.cs
- MatrixStack.cs
- SafeCertificateStore.cs
- IsolatedStorageException.cs
- HandleCollector.cs
- CustomErrorsSection.cs
- XmlAttributeCache.cs
- GridViewCancelEditEventArgs.cs
- QilPatternFactory.cs
- CachedCompositeFamily.cs
- TextTreeTextElementNode.cs
- CodeDefaultValueExpression.cs
- SelectionWordBreaker.cs
- ProtectedProviderSettings.cs
- HtmlEmptyTagControlBuilder.cs
- AddInBase.cs
- ValueSerializer.cs
- VectorCollection.cs
- EntityDataSourceUtil.cs
- CheckBoxBaseAdapter.cs
- BaseParaClient.cs
- SerializationException.cs
- _NegotiateClient.cs
- DefaultMemberAttribute.cs
- ProfilePropertySettings.cs
- WebPartHelpVerb.cs
- DoWhileDesigner.xaml.cs
- SelectionRange.cs
- HighlightComponent.cs
- SvcMapFileSerializer.cs
- ChildrenQuery.cs
- SafeNativeMethodsOther.cs
- CodeCatchClauseCollection.cs
- ProtocolsConfiguration.cs