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
- HtmlObjectListAdapter.cs
- UnsafeMethods.cs
- SqlGatherProducedAliases.cs
- DrawingContextDrawingContextWalker.cs
- BindingObserver.cs
- ScopedKnownTypes.cs
- WebPartConnectionCollection.cs
- QueryRewriter.cs
- ResourceKey.cs
- TemplateColumn.cs
- PassportPrincipal.cs
- SqlRewriteScalarSubqueries.cs
- ProxyDataContractResolver.cs
- TcpProcessProtocolHandler.cs
- TypeUsageBuilder.cs
- VisualCollection.cs
- OperandQuery.cs
- DataGridCommandEventArgs.cs
- InputBuffer.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- BooleanSwitch.cs
- EdmFunction.cs
- DataRow.cs
- MatrixCamera.cs
- MembershipUser.cs
- VolatileEnlistmentState.cs
- ISAPIWorkerRequest.cs
- X509Certificate2Collection.cs
- ScriptComponentDescriptor.cs
- XmlSerializerAssemblyAttribute.cs
- TraceEventCache.cs
- ContentControl.cs
- NullableBoolConverter.cs
- DrawListViewItemEventArgs.cs
- BaseParser.cs
- Int32RectConverter.cs
- TransactedBatchingBehavior.cs
- RuntimeVariableList.cs
- GeneratedView.cs
- RewritingPass.cs
- FontResourceCache.cs
- ParserStack.cs
- ExpressionWriter.cs
- EventHandlerList.cs
- PeerName.cs
- FileDataSourceCache.cs
- UTF7Encoding.cs
- SiteMap.cs
- Rect3DValueSerializer.cs
- TrackingProfileDeserializationException.cs
- ToolStripDropTargetManager.cs
- namescope.cs
- IconBitmapDecoder.cs
- SpanIndex.cs
- LinkGrep.cs
- ServiceHttpModule.cs
- AccessorTable.cs
- DbReferenceCollection.cs
- FilterQuery.cs
- Compiler.cs
- KeyValueInternalCollection.cs
- PropagationProtocolsTracing.cs
- TriggerActionCollection.cs
- TrackingMemoryStreamFactory.cs
- ConfigurationPropertyCollection.cs
- SqlAliasesReferenced.cs
- TextEditorMouse.cs
- PartialList.cs
- PropertyTabAttribute.cs
- ControlPersister.cs
- TableHeaderCell.cs
- ConstrainedDataObject.cs
- _KerberosClient.cs
- Certificate.cs
- DataControlPagerLinkButton.cs
- CapabilitiesUse.cs
- OpacityConverter.cs
- SamlNameIdentifierClaimResource.cs
- Image.cs
- WebPartMenu.cs
- StreamReader.cs
- StaticFileHandler.cs
- ComponentResourceKey.cs
- ExpressionDumper.cs
- EndOfStreamException.cs
- M3DUtil.cs
- PrintEvent.cs
- TableCellAutomationPeer.cs
- MaterialCollection.cs
- MobileCapabilities.cs
- XslCompiledTransform.cs
- ProfileGroupSettingsCollection.cs
- DefaultEventAttribute.cs
- ContentPosition.cs
- CurrencyManager.cs
- XmlSchemaChoice.cs
- RadioButtonList.cs
- TargetPerspective.cs
- WebDescriptionAttribute.cs
- GeneralTransformCollection.cs