Tedd.SpanUtils 1.0.2

Adds extension methods to read/write to Span<byte>

There is a newer version of this package available.
See the version list below for details.
Install-Package Tedd.SpanUtils -Version 1.0.2
dotnet add package Tedd.SpanUtils --version 1.0.2
<PackageReference Include="Tedd.SpanUtils" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Tedd.SpanUtils --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Tedd.SpanUtils

Utilities for reading/writing to span.

Span<byte> extension methods to read or write SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64.
There is also an UInt24 type which can be cast to/from UInt32 and used for reading/writing 3-byte numbers.

Example

var mem = new byte[1000];
var span = new Span<byte>(mem);

Int32 a = 1234;
span.Write(a);
var b = span.ReadInt32(i);
// a == b


// Move* methods moves Span-pointer as they read or write.
Int16 a1 = 10;
Int32 a2 = 20;
Int64 a3 = 30;
span.MoveWrite(a1);
span.MoveWrite(a2);
span.MoveWrite(a3);

// To start reading from start we need a new reference for reader pointing to start of memory area.
var span2 = new Span<byte(mem);

var b1 = span2.MoveReadInt16();
var b2 = span2.MoveReadInt32();
var b3 = span2.MoveReadInt64();

// a1 == b1
// a2 == b2
// a3 == b3

Tedd.SpanUtils

Utilities for reading/writing to span.

Span<byte> extension methods to read or write SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64.
There is also an UInt24 type which can be cast to/from UInt32 and used for reading/writing 3-byte numbers.

Example

var mem = new byte[1000];
var span = new Span<byte>(mem);

Int32 a = 1234;
span.Write(a);
var b = span.ReadInt32(i);
// a == b


// Move* methods moves Span-pointer as they read or write.
Int16 a1 = 10;
Int32 a2 = 20;
Int64 a3 = 30;
span.MoveWrite(a1);
span.MoveWrite(a2);
span.MoveWrite(a3);

// To start reading from start we need a new reference for reader pointing to start of memory area.
var span2 = new Span<byte(mem);

var b1 = span2.MoveReadInt16();
var b2 = span2.MoveReadInt32();
var b3 = span2.MoveReadInt64();

// a1 == b1
// a2 == b2
// a3 == b3

  • .NETCoreApp 2.1

    • No dependencies.
  • .NETCoreApp 3.0

    • No dependencies.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 4.6.1

  • .NETStandard 2.1

    • No dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.0-beta.6 22 5/9/2020
1.1.0-beta.5 21 5/6/2020
1.1.0-beta.4 52 5/4/2020
1.1.0-beta.3 99 5/3/2020
1.1.0-beta.2 42 5/2/2020
1.1.0-beta.1 39 5/2/2020
1.0.8 281 1/4/2020
1.0.7 95 1/3/2020
1.0.6 78 1/3/2020
1.0.5 87 1/3/2020
1.0.4 101 12/26/2019
1.0.2 62 12/23/2019
1.0.1 62 12/23/2019
1.0.0 77 12/19/2019
Show less