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
- WeakReferenceKey.cs
- RawAppCommandInputReport.cs
- ProcessHostFactoryHelper.cs
- DefaultEventAttribute.cs
- CommonGetThemePartSize.cs
- DockPatternIdentifiers.cs
- GridView.cs
- DataGridTextColumn.cs
- XmlSchemaAll.cs
- IndicShape.cs
- EventLevel.cs
- XamlSerializationHelper.cs
- ThemeableAttribute.cs
- TableLayoutRowStyleCollection.cs
- MediaScriptCommandRoutedEventArgs.cs
- SignedPkcs7.cs
- SelectedDatesCollection.cs
- OleDbError.cs
- TextTreeRootNode.cs
- ChtmlFormAdapter.cs
- DataSourceHelper.cs
- Helpers.cs
- PingReply.cs
- COAUTHIDENTITY.cs
- KernelTypeValidation.cs
- InputReport.cs
- ISAPIApplicationHost.cs
- UInt16.cs
- LogLogRecordHeader.cs
- DetailsViewCommandEventArgs.cs
- AlgoModule.cs
- DashStyles.cs
- WebPartHelpVerb.cs
- Psha1DerivedKeyGenerator.cs
- WindowsFont.cs
- BuildProviderUtils.cs
- OpenTypeCommon.cs
- DBDataPermissionAttribute.cs
- TextWriterTraceListener.cs
- CompositeScriptReferenceEventArgs.cs
- DataMemberListEditor.cs
- BoundPropertyEntry.cs
- QilXmlReader.cs
- FieldNameLookup.cs
- ScrollEventArgs.cs
- MenuItemStyleCollection.cs
- PolyBezierSegmentFigureLogic.cs
- SpecularMaterial.cs
- Window.cs
- EffectiveValueEntry.cs
- InitializerFacet.cs
- ProcessRequestArgs.cs
- ChannelTokenTypeConverter.cs
- RecognitionResult.cs
- SchemaComplexType.cs
- DataTableMapping.cs
- MetabaseSettingsIis7.cs
- ChangeNode.cs
- SimpleBitVector32.cs
- ServiceActivationException.cs
- ListContractAdapter.cs
- DataGridViewSelectedCellCollection.cs
- Matrix3DStack.cs
- FileSystemEventArgs.cs
- DocumentOrderQuery.cs
- BitmapEffectrendercontext.cs
- SmtpAuthenticationManager.cs
- RoleManagerEventArgs.cs
- ObservableDictionary.cs
- ExpressionTextBoxAutomationPeer.cs
- FtpWebResponse.cs
- MenuItem.cs
- TargetPerspective.cs
- Emitter.cs
- XmlQueryOutput.cs
- _ListenerAsyncResult.cs
- ObjectParameter.cs
- FixedSOMTableRow.cs
- LocatorBase.cs
- ParseNumbers.cs
- HandleCollector.cs
- wgx_exports.cs
- TerminateSequence.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- RuntimeConfig.cs
- ShaperBuffers.cs
- BindableTemplateBuilder.cs
- GraphicsPath.cs
- KeyPressEvent.cs
- ConversionContext.cs
- LoginUtil.cs
- ArgumentNullException.cs
- XXXOnTypeBuilderInstantiation.cs
- WasAdminWrapper.cs
- DateTimeOffsetConverter.cs
- DefaultHttpHandler.cs
- SqlFunctionAttribute.cs
- ApplicationId.cs
- HistoryEventArgs.cs
- FontResourceCache.cs