public static IComparisonDeclaration <T> Comparison <T>(this IParametersDeclaration <T, T> parameters) { return(new ComparisonDeclarationImpl <T>(parameters)); }
internal ComparisonDeclarationImpl(IParametersDeclaration <T, T> parameters) : base(parameters.Parameters) { }
internal EqualityDeclarationImpl(IParametersDeclaration <T, T> parameters) : base(parameters.Parameters) { }
internal HashingDeclarationImpl(IParametersDeclaration <T> parameters, Expression <Func <int, int, int> > composer, Expression <Func <int> > seed) : base(parameters.Parameters) { _hashComposer = composer; _hashSeed = seed; }
public static IEqualityDeclaration <T> Equality <T>(this IParametersDeclaration <T, T> parameters) { return(new EqualityDeclarationImpl <T>(parameters)); }
public static IHashingDeclaration <T> Hashing <T>(this IParametersDeclaration <T> parameters, Expression <Func <int, int, int> > composer, Expression <Func <int> > seed) { return(new HashingDeclarationImpl <T>(parameters, composer, seed)); }
public static IHashingDeclaration <T> Hashing <T>(this IParametersDeclaration <T> typeDef) { return(typeDef.Hashing((a, c) => unchecked (a * 31 + c), () => 23)); }