OrdinalStringFrozenSet_LeftJustifiedCaseInsensitiveSubstring
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace System.Collections.Frozen
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
internal sealed class OrdinalStringFrozenSet_LeftJustifiedCaseInsensitiveSubstring : OrdinalStringFrozenSet
{
internal OrdinalStringFrozenSet_LeftJustifiedCaseInsensitiveSubstring(string[] entries, IEqualityComparer<string> comparer, int minimumLength, int maximumLengthDiff, int hashIndex, int hashCount)
: base(entries, comparer, minimumLength, maximumLengthDiff, hashIndex, hashCount)
{
}
private protected override int FindItemIndex(string item)
{
return base.FindItemIndex(item);
}
private protected override int FindItemIndex<[System.Runtime.CompilerServices.Nullable(2)] TAlternate>(TAlternate item)
{
return base.FindItemIndex(item);
}
[System.Runtime.CompilerServices.NullableContext(2)]
private protected override bool Equals(string x, string y)
{
return StringComparer.OrdinalIgnoreCase.Equals(x, y);
}
[System.Runtime.CompilerServices.NullableContext(0)]
private protected override bool Equals(ReadOnlySpan<char> x, [System.Runtime.CompilerServices.Nullable(2)] string y)
{
return OrdinalStringFrozenSet.EqualsOrdinalIgnoreCase(x, y);
}
private protected override int GetHashCode(string s)
{
return Hashing.GetHashCodeOrdinalIgnoreCase(MemoryExtensions.AsSpan(s, base.HashIndex, base.HashCount));
}
[System.Runtime.CompilerServices.NullableContext(0)]
private protected override int GetHashCode(ReadOnlySpan<char> s)
{
return Hashing.GetHashCodeOrdinalIgnoreCase(s.Slice(base.HashIndex, base.HashCount));
}
}
}