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
- HtmlInputRadioButton.cs
- SelectionRange.cs
- DataGridViewBand.cs
- Int64Animation.cs
- WebPartManager.cs
- TextModifierScope.cs
- FormsIdentity.cs
- DocumentScope.cs
- RoleBoolean.cs
- LocalizableResourceBuilder.cs
- CqlGenerator.cs
- CardSpacePolicyElement.cs
- BrowserDefinition.cs
- SrgsDocumentParser.cs
- BindingEditor.xaml.cs
- HelpKeywordAttribute.cs
- EastAsianLunisolarCalendar.cs
- LocalizableAttribute.cs
- DataServiceProviderWrapper.cs
- ItemsPresenter.cs
- FlowNode.cs
- TdsRecordBufferSetter.cs
- Monitor.cs
- MaterialGroup.cs
- PartialArray.cs
- Invariant.cs
- FunctionImportElement.cs
- DateTimeOffsetAdapter.cs
- Matrix.cs
- DataObject.cs
- EmptyEnumerator.cs
- OdbcErrorCollection.cs
- HyperLinkField.cs
- MarkupObject.cs
- SqlMultiplexer.cs
- CustomPopupPlacement.cs
- DataTableCollection.cs
- ClientConfigPaths.cs
- SqlInternalConnection.cs
- PolyQuadraticBezierSegment.cs
- RoutingChannelExtension.cs
- DbBuffer.cs
- ExpressionTextBoxAutomationPeer.cs
- ExtensibleClassFactory.cs
- StringValidatorAttribute.cs
- ZipIORawDataFileBlock.cs
- LockedActivityGlyph.cs
- TrackingSection.cs
- Parsers.cs
- SmiXetterAccessMap.cs
- AsyncWaitHandle.cs
- ColumnCollection.cs
- ReadOnlyHierarchicalDataSourceView.cs
- NonSerializedAttribute.cs
- TriggerAction.cs
- HitTestParameters3D.cs
- MarshalByValueComponent.cs
- WebResourceUtil.cs
- ContextInformation.cs
- Interlocked.cs
- selecteditemcollection.cs
- RegexFCD.cs
- PrintingPermission.cs
- HttpModuleCollection.cs
- RootProfilePropertySettingsCollection.cs
- FixedElement.cs
- MimeTypeAttribute.cs
- DataContext.cs
- DirectoryInfo.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- GCHandleCookieTable.cs
- Bind.cs
- HtmlTable.cs
- Baml2006KeyRecord.cs
- ConfigurationSectionGroup.cs
- AtomServiceDocumentSerializer.cs
- Walker.cs
- BitVec.cs
- EntityModelBuildProvider.cs
- UnsafeNativeMethods.cs
- SimpleHandlerFactory.cs
- TrackingStringDictionary.cs
- TaiwanLunisolarCalendar.cs
- AuthenticationConfig.cs
- MenuItem.cs
- ImpersonateTokenRef.cs
- XmlSerializerNamespaces.cs
- DbConnectionOptions.cs
- PointLight.cs
- DetailsView.cs
- DesignerCatalogPartChrome.cs
- DataServices.cs
- FastPropertyAccessor.cs
- AuthenticatingEventArgs.cs
- ExtractCollection.cs
- TableSectionStyle.cs
- ConnectionInterfaceCollection.cs
- SimpleExpression.cs
- MLangCodePageEncoding.cs
- OdbcConnectionHandle.cs