Skip to content

Commit 183202d

Browse files
authored
Add new methods to HashValue
Signed-off-by: Xen <lordofxen@deskasoft.com>
1 parent d73911b commit 183202d

File tree

1 file changed

+52
-1
lines changed

1 file changed

+52
-1
lines changed

HashifyNet/Core/DataType/HashValue.cs

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,57 @@ public byte[] AsByteArray()
533533
return Hash.ToArray();
534534
}
535535

536+
/// <summary>
537+
/// <inheritdoc/>
538+
/// </summary>
539+
/// <param name="start"><inheritdoc/></param>
540+
/// <param name="length"><inheritdoc/></param>
541+
/// <returns><inheritdoc/></returns>
542+
public ReadOnlySpan<byte> AsSpan(int start, int length)
543+
{
544+
return Hash.AsSpan(start, length);
545+
}
546+
547+
/// <summary>
548+
/// <inheritdoc/>
549+
/// </summary>
550+
/// <param name="length"><inheritdoc/></param>
551+
/// <returns><inheritdoc/></returns>
552+
public ReadOnlySpan<byte> AsSpan(int length)
553+
{
554+
return AsSpan(0, length);
555+
}
556+
557+
/// <summary>
558+
/// <inheritdoc/>
559+
/// </summary>
560+
/// <returns><inheritdoc/></returns>
561+
public ReadOnlySpan<byte> AsSpan()
562+
{
563+
return AsSpan(0, Hash.Length);
564+
}
565+
566+
/// <summary>
567+
/// <inheritdoc/>
568+
/// </summary>
569+
/// <param name="start"><inheritdoc/></param>
570+
/// <param name="length"><inheritdoc/></param>
571+
/// <returns><inheritdoc/></returns>
572+
public IHashValue Slice(int start, int length)
573+
{
574+
return new HashValue(Endianness, Hash.AsSpan(start, length).ToImmutableArray(), length * 8);
575+
}
576+
577+
/// <summary>
578+
/// <inheritdoc/>
579+
/// </summary>
580+
/// <param name="length"><inheritdoc/></param>
581+
/// <returns><inheritdoc/></returns>
582+
public IHashValue Slice(int length)
583+
{
584+
return Slice(0, length);
585+
}
586+
536587
/// <summary>
537588
/// <inheritdoc/>
538589
/// </summary>
@@ -702,4 +753,4 @@ public int CompareTo(IHashValue other)
702753
return 0;
703754
}
704755
}
705-
}
756+
}

0 commit comments

Comments
 (0)