Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NavigationFailedEventArgs.cs
- ListViewDesigner.cs
- BamlCollectionHolder.cs
- StylesEditorDialog.cs
- SortKey.cs
- XmlNodeChangedEventArgs.cs
- PathGradientBrush.cs
- TextMetrics.cs
- GeneralTransformGroup.cs
- HTTPNotFoundHandler.cs
- ControlCachePolicy.cs
- StreamResourceInfo.cs
- Missing.cs
- BuildManager.cs
- BitmapMetadataBlob.cs
- HostExecutionContextManager.cs
- ConfigXmlElement.cs
- VoiceInfo.cs
- SQLMembershipProvider.cs
- XmlDocumentFragment.cs
- LifetimeServices.cs
- Operators.cs
- RequiredAttributeAttribute.cs
- DataRowCollection.cs
- DataGridViewCellCancelEventArgs.cs
- Thickness.cs
- ViewStateModeByIdAttribute.cs
- SortedDictionary.cs
- EventLogger.cs
- SqlDeflator.cs
- assemblycache.cs
- ProxyWebPartManagerDesigner.cs
- XPathChildIterator.cs
- infer.cs
- LowerCaseStringConverter.cs
- ReadOnlyDictionary.cs
- StickyNoteHelper.cs
- Vector3DCollection.cs
- AttributeProviderAttribute.cs
- WmlPanelAdapter.cs
- HttpListenerRequestUriBuilder.cs
- WebPartEditVerb.cs
- TextContainer.cs
- SiteMapDataSourceView.cs
- QueryConverter.cs
- WindowsEditBox.cs
- GetPageNumberCompletedEventArgs.cs
- TagPrefixAttribute.cs
- HtmlInputCheckBox.cs
- XmlSchemaFacet.cs
- MergeFilterQuery.cs
- TdsRecordBufferSetter.cs
- CanExecuteRoutedEventArgs.cs
- DbDeleteCommandTree.cs
- PersonalizableTypeEntry.cs
- RequestCacheEntry.cs
- SpotLight.cs
- WebPartDescription.cs
- ListViewTableRow.cs
- externdll.cs
- ButtonBase.cs
- LinearGradientBrush.cs
- BooleanFunctions.cs
- CodeDefaultValueExpression.cs
- EventRoute.cs
- StateMachineWorkflowDesigner.cs
- ImmutableObjectAttribute.cs
- PointConverter.cs
- DecoderNLS.cs
- OdbcConnectionOpen.cs
- DataViewManager.cs
- StrokeNodeOperations2.cs
- StopStoryboard.cs
- SystemInfo.cs
- WindowsRebar.cs
- PostBackOptions.cs
- WSTransactionSection.cs
- EnvironmentPermission.cs
- XMLUtil.cs
- NullableFloatMinMaxAggregationOperator.cs
- FileSecurity.cs
- TextFormatterImp.cs
- BinHexDecoder.cs
- ExtendedProtectionPolicy.cs
- IntegerCollectionEditor.cs
- TextBox.cs
- IteratorDescriptor.cs
- Label.cs
- AssemblyBuilder.cs
- XsltArgumentList.cs
- RsaSecurityKey.cs
- SqlRetyper.cs
- PropertyConverter.cs
- IsolatedStorageFileStream.cs
- FlowDocument.cs
- StreamReader.cs
- MetadataArtifactLoaderFile.cs
- UInt64.cs
- AccessKeyManager.cs
- CanExecuteRoutedEventArgs.cs