Skip to content

Commit 5230a97

Browse files
committed
Added: CircularBufferStruct for Concrete Type of Circular Buffer
1 parent bc120f4 commit 5230a97

11 files changed

Lines changed: 427 additions & 157 deletions

File tree

src/Reloaded.Memory.Tests/Tests/Utility/CircularBufferTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using FluentAssertions;
33
using Reloaded.Memory.Utilities;
44
using Xunit;
5+
#pragma warning disable CS0618 // Type or member is obsolete
56

67
namespace Reloaded.Memory.Tests.Tests.Utility;
78

src/Reloaded.Memory/PublicAPI/net48/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/net5.0/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/net6.0/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/net7.0/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/net8.0/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/netcoreapp3.1/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

src/Reloaded.Memory/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,22 @@ Reloaded.Memory.Exceptions.MemoryAllocationException.MemoryAllocationException(s
33
Reloaded.Memory.Exceptions.MemoryException.MemoryException() -> void
44
Reloaded.Memory.Exceptions.MemoryException.MemoryException(string! message, System.Exception! innerException) -> void
55
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException() -> void
6-
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
6+
Reloaded.Memory.Exceptions.MemoryPermissionException.MemoryPermissionException(string! message, System.Exception! innerException) -> void
7+
Reloaded.Memory.Utilities.CircularBufferStruct
8+
Reloaded.Memory.Utilities.CircularBufferStruct.Add(byte* data, uint length) -> nuint
9+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<T>(T value) -> nuint
10+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource, T>(TSource source, T value) -> nuint
11+
Reloaded.Memory.Utilities.CircularBufferStruct.Add<TSource>(TSource source, byte* data, uint length) -> nuint
12+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit(uint itemSize) -> Reloaded.Memory.Utilities.ItemFit
13+
Reloaded.Memory.Utilities.CircularBufferStruct.CanItemFit<T>() -> Reloaded.Memory.Utilities.ItemFit
14+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct() -> void
15+
Reloaded.Memory.Utilities.CircularBufferStruct.CircularBufferStruct(nuint start, int size) -> void
16+
Reloaded.Memory.Utilities.CircularBufferStruct.Current.get -> nuint
17+
Reloaded.Memory.Utilities.CircularBufferStruct.End.get -> nuint
18+
Reloaded.Memory.Utilities.CircularBufferStruct.Remaining.get -> nuint
19+
Reloaded.Memory.Utilities.CircularBufferStruct.Size.get -> nuint
20+
Reloaded.Memory.Utilities.CircularBufferStruct.Start.get -> nuint
21+
Reloaded.Memory.Utilities.ItemFit
22+
Reloaded.Memory.Utilities.ItemFit.No = 2 -> Reloaded.Memory.Utilities.ItemFit
23+
Reloaded.Memory.Utilities.ItemFit.StartOfBuffer = 1 -> Reloaded.Memory.Utilities.ItemFit
24+
Reloaded.Memory.Utilities.ItemFit.Yes = 0 -> Reloaded.Memory.Utilities.ItemFit

0 commit comments

Comments
 (0)