Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Linq / Parallel / Utils / WrapperEqualityComparer.cs / 1305376 / WrapperEqualityComparer.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
// =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
//
// WrapperEqualityComparer.cs
//
// [....]
//
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
using System.Collections.Generic;
using System.Diagnostics.Contracts;
namespace System.Linq.Parallel
{
///
/// Compares two wrapped structs of the same underlying type for equality. Simply
/// wraps the actual comparer for the type being wrapped.
///
///
internal struct WrapperEqualityComparer : IEqualityComparer>
{
private IEqualityComparer m_comparer;
internal WrapperEqualityComparer(IEqualityComparer comparer)
{
if (comparer == null)
{
m_comparer = EqualityComparer.Default;
}
else
{
m_comparer = comparer;
}
}
public bool Equals(Wrapper x, Wrapper y)
{
Contract.Assert(m_comparer != null);
return m_comparer.Equals(x.Value, y.Value);
}
public int GetHashCode(Wrapper x)
{
Contract.Assert(m_comparer != null);
return m_comparer.GetHashCode(x.Value);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
// =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
//
// WrapperEqualityComparer.cs
//
// [....]
//
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
using System.Collections.Generic;
using System.Diagnostics.Contracts;
namespace System.Linq.Parallel
{
///
/// Compares two wrapped structs of the same underlying type for equality. Simply
/// wraps the actual comparer for the type being wrapped.
///
///
internal struct WrapperEqualityComparer : IEqualityComparer>
{
private IEqualityComparer m_comparer;
internal WrapperEqualityComparer(IEqualityComparer comparer)
{
if (comparer == null)
{
m_comparer = EqualityComparer.Default;
}
else
{
m_comparer = comparer;
}
}
public bool Equals(Wrapper x, Wrapper y)
{
Contract.Assert(m_comparer != null);
return m_comparer.Equals(x.Value, y.Value);
}
public int GetHashCode(Wrapper x)
{
Contract.Assert(m_comparer != null);
return m_comparer.GetHashCode(x.Value);
}
}
}
// 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
- UnionCqlBlock.cs
- BamlLocalizer.cs
- SqlExpressionNullability.cs
- QuadraticBezierSegment.cs
- AppendHelper.cs
- RoutedEventHandlerInfo.cs
- PolyLineSegment.cs
- CharUnicodeInfo.cs
- ExpressionVisitor.cs
- PlainXmlWriter.cs
- EntityDataSourceContainerNameConverter.cs
- SystemSounds.cs
- SymLanguageVendor.cs
- Wildcard.cs
- AssemblySettingAttributes.cs
- DrawingState.cs
- ListCardsInFileRequest.cs
- DbConnectionPool.cs
- Zone.cs
- TraceContext.cs
- EncoderBestFitFallback.cs
- TrackingConditionCollection.cs
- DependencyPropertyHelper.cs
- RewritingProcessor.cs
- Win32SafeHandles.cs
- XmlValueConverter.cs
- DataRecordInternal.cs
- ObjectComplexPropertyMapping.cs
- MulticastIPAddressInformationCollection.cs
- UnaryExpression.cs
- RuleAttributes.cs
- RtfControls.cs
- ComponentEditorPage.cs
- WebEventTraceProvider.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DictionaryKeyPropertyAttribute.cs
- SchemaSetCompiler.cs
- WebPartTransformer.cs
- GPStream.cs
- MaskedTextBox.cs
- TextServicesDisplayAttribute.cs
- XmlDataSourceView.cs
- PenLineJoinValidation.cs
- ParseElementCollection.cs
- ManagedWndProcTracker.cs
- Control.cs
- ClientSponsor.cs
- _UncName.cs
- AnyReturnReader.cs
- _BaseOverlappedAsyncResult.cs
- EncoderBestFitFallback.cs
- PngBitmapEncoder.cs
- TypeGeneratedEventArgs.cs
- SQLBoolean.cs
- URL.cs
- AppSettingsExpressionBuilder.cs
- PriorityChain.cs
- Schema.cs
- MetadataSerializer.cs
- AdRotatorDesigner.cs
- PhysicalOps.cs
- EdmProviderManifest.cs
- EdmProviderManifest.cs
- ResumeStoryboard.cs
- regiisutil.cs
- Point4D.cs
- ServiceProviders.cs
- XmlSchemaSimpleContent.cs
- OdbcConnectionFactory.cs
- SessionStateContainer.cs
- SecurityTokenContainer.cs
- TypeDependencyAttribute.cs
- PropertyKey.cs
- PerfCounters.cs
- TdsParserStateObject.cs
- PersonalizationStateQuery.cs
- DataGridViewTextBoxColumn.cs
- RuleEngine.cs
- SqlPersonalizationProvider.cs
- TypeSystemHelpers.cs
- CryptoKeySecurity.cs
- TextContainerChangedEventArgs.cs
- DataShape.cs
- ISAPIApplicationHost.cs
- Journal.cs
- BuilderElements.cs
- SqlVisitor.cs
- DataServiceExpressionVisitor.cs
- AbstractSvcMapFileLoader.cs
- RequiredAttributeAttribute.cs
- ScrollBar.cs
- NotImplementedException.cs
- IOException.cs
- StringPropertyBuilder.cs
- InvalidComObjectException.cs
- EdmToObjectNamespaceMap.cs
- ControlEvent.cs
- PropertyRecord.cs
- TemplateControlBuildProvider.cs
- VisemeEventArgs.cs