Show / Hide Table of Contents

Class BitwiseComparer<T>

Represents bitwise comparer for the arbitrary value type.

Inheritance
Object
BitwiseComparer<T>
Implements
IComparer<T>
Namespace: DotNext
Assembly: DotNext.dll
Syntax
public sealed class BitwiseComparer<T> : IEqualityComparer<T>, IComparer<T> where T : struct
Type Parameters
Name Description
T

The value type.

Properties

| Improve this Doc View Source

Instance

Gets instance of this comparer.

Declaration
public static BitwiseComparer<T> Instance { get; }
Property Value
Type Description
BitwiseComparer<T>

The instance of this comparer.

Remarks

Use this property only if you need object implementing or interface. Otherwise, use static methods.

Methods

| Improve this Doc View Source

Compare<G>(T, G)

Compares bits of two values of the different type.

Declaration
public static int Compare<G>(T first, G second)

    where G : struct
Parameters
Type Name Description
T first

The first value to compare.

G second

The second value to compare.

Returns
Type Description
Int32

A value that indicates the relative order of the objects being compared.

Type Parameters
Name Description
G

Type of the second value.

| Improve this Doc View Source

Equals<G>(T, G)

Checks bitwise equality between two values of different value types.

Declaration
public static bool Equals<G>(T first, G second)

    where G : struct
Parameters
Type Name Description
T first

The first value to check.

G second

The second value to check.

Returns
Type Description
Boolean

true, if both values are equal; otherwise, false.

Type Parameters
Name Description
G

Type of second value.

Remarks

This method doesn't use even if it is overridden by value type.

| Improve this Doc View Source

GetHashCode(T, Boolean)

Computes hash code for the structure content.

Declaration
public static int GetHashCode(T value, bool salted = true)
Parameters
Type Name Description
T value

Value to be hashed.

Boolean salted

true to include randomized salt data into hashing; false to use data from memory only.

Returns
Type Description
Int32

Content hash code.

| Improve this Doc View Source

GetHashCode(T, Int32, Func<Int32, Int32, Int32>, Boolean)

Computes bitwise hash code for the specified value.

Declaration
public static int GetHashCode(T value, int hash, Func<int, int, int> hashFunction, bool salted = true)
Parameters
Type Name Description
T value

A value to be hashed.

Int32 hash

Initial value of the hash.

DotNext.Func<Int32, Int32, Int32> hashFunction

Hashing function.

Boolean salted

true to include randomized salt data into hashing; false to use data from memory only.

Returns
Type Description
Int32

Bitwise hash code.

Remarks

This method doesn't use even if it is overridden by value type.

| Improve this Doc View Source

GetHashCode(T, Int32, ValueFunc<Int32, Int32, Int32>, Boolean)

Computes bitwise hash code for the specified value.

Declaration
public static int GetHashCode(T value, int hash, in ValueFunc<int, int, int> hashFunction, bool salted = true)
Parameters
Type Name Description
T value

A value to be hashed.

Int32 hash

Initial value of the hash.

ValueFunc<Int32, Int32, Int32> hashFunction

Hashing function.

Boolean salted

true to include randomized salt data into hashing; false to use data from memory only.

Returns
Type Description
Int32

Bitwise hash code.

Remarks

This method doesn't use even if it is overridden by value type.

Implements

IComparer<>

Extension Methods

AsyncLockAcquisition.AcquireLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, CancellationToken)
ExpressionBuilder.Const<T>(T)
ObjectExtensions.GetUserData<T>(T)
ObjectExtensions.IsOneOf<T>(T, IEnumerable<T>)
ObjectExtensions.IsOneOf<T>(T, T[])
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>)
LockAcquisition.AcquireReadLock<T>(T)
LockAcquisition.AcquireReadLock<T>(T, TimeSpan)
LockAcquisition.AcquireWriteLock<T>(T)
LockAcquisition.AcquireWriteLock<T>(T, TimeSpan)
LockAcquisition.AcquireUpgradeableReadLock<T>(T)
LockAcquisition.AcquireUpgradeableReadLock<T>(T, TimeSpan)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX