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
- MexBindingElement.cs
- METAHEADER.cs
- X509Utils.cs
- ContractMapping.cs
- ContextTokenTypeConverter.cs
- OleDbWrapper.cs
- DrawingContextWalker.cs
- KeySplineConverter.cs
- ToolStripItemEventArgs.cs
- LambdaCompiler.ControlFlow.cs
- WebServiceEnumData.cs
- QilGeneratorEnv.cs
- ListControl.cs
- SingleKeyFrameCollection.cs
- QilName.cs
- XmlElement.cs
- ComboBoxAutomationPeer.cs
- TableSectionStyle.cs
- ScrollChrome.cs
- ConnectionPoint.cs
- CodeIndexerExpression.cs
- FixUp.cs
- Error.cs
- PeerCollaborationPermission.cs
- ProcessRequestAsyncResult.cs
- PlatformCulture.cs
- XmlKeywords.cs
- FigureParaClient.cs
- TemplateParser.cs
- EdmSchemaAttribute.cs
- ScriptMethodAttribute.cs
- SplineKeyFrames.cs
- SchemaMapping.cs
- AbstractSvcMapFileLoader.cs
- TemplatedMailWebEventProvider.cs
- XmlSchemaSimpleContent.cs
- ArcSegment.cs
- ClientTarget.cs
- TextDecoration.cs
- ErrorRuntimeConfig.cs
- OverlappedContext.cs
- DESCryptoServiceProvider.cs
- ProxySimple.cs
- ObjectFullSpanRewriter.cs
- Int32Collection.cs
- ProfileSettingsCollection.cs
- XmlEntity.cs
- RtfToken.cs
- IUnknownConstantAttribute.cs
- MdbDataFileEditor.cs
- WindowsSpinner.cs
- ObjectListItem.cs
- XComponentModel.cs
- StrongNameKeyPair.cs
- BitmapFrame.cs
- SchemaType.cs
- AssemblyName.cs
- InputElement.cs
- CaretElement.cs
- ConfigurationStrings.cs
- GlobalizationAssembly.cs
- SelectionItemPattern.cs
- TreeNodeBinding.cs
- MasterPage.cs
- BaseTemplateParser.cs
- CustomLineCap.cs
- SystemTcpStatistics.cs
- ByteKeyFrameCollection.cs
- ArgumentValueSerializer.cs
- SerializationInfoEnumerator.cs
- odbcmetadatacolumnnames.cs
- XPathException.cs
- BindingOperations.cs
- ConsoleCancelEventArgs.cs
- AspNetSynchronizationContext.cs
- Error.cs
- BinHexEncoder.cs
- SingleObjectCollection.cs
- FormDesigner.cs
- CodeDOMProvider.cs
- MdiWindowListStrip.cs
- SingleTagSectionHandler.cs
- xsdvalidator.cs
- TreeViewTemplateSelector.cs
- DispatcherHooks.cs
- Int16Animation.cs
- PropertyPathConverter.cs
- MoveSizeWinEventHandler.cs
- Quad.cs
- SiteMembershipCondition.cs
- HtmlPageAdapter.cs
- PartBasedPackageProperties.cs
- MarkerProperties.cs
- KeysConverter.cs
- FeatureSupport.cs
- DbProviderFactories.cs
- UIInitializationException.cs
- ArglessEventHandlerProxy.cs
- DecimalStorage.cs
- SmtpException.cs