diff --git a/README.MD b/README.MD index 71a256e..b80ee2e 100644 --- a/README.MD +++ b/README.MD @@ -14,6 +14,19 @@ Below are a list of the included namespaces and their overall utility. Generic helper classes that involve custom functionality and utility. +#### Classes + +| Class | Notes | +| --- | --- | +| `BufferedStream` | Not a true stream implementation used for buffered, single-byte reads | +| `IniFile` | Key-value pair INI file, implementing `Dictionary` | +| `MatchUtil` | Utility class for easier invocation of `SabreTools.Matching` functionality | +| `ParentablePath` | Class that represents a path that is rooted by a parent directory | +| `PathTool` | Utility class for common Path-related functions | +| `ReadOnlyBitStream` | Read-only stream implementation allowing bitwise reading | +| `ReadOnlyCompositeStream` | Read-only stream implementation that wraps multiple source streams in a set order | +| `ViewStream` | Read-only stream implementation representing a view into source data | + ### `SabreTools.IO.Compression` Various compression implementations that are used across multiple projects. Most of the implementations are be ports of existing C and C++ code. @@ -59,15 +72,6 @@ Reading and writing support for the following file types: For a generic INI implementation, see `SabreTools.IO.IniFile`. -### `SabreTools.IO.Streams` - -Custom `Stream` implementations that are required for specialized use: - -- `BufferedStream`: A format that is not a true stream implementation used for buffered, single-byte reads -- `ReadOnlyBitStream`: A readonly stream implementation allowing bitwise reading -- `ReadOnlyCompositeStream`: A readonly stream implementation that wraps multiple source streams in a set order -- `ViewStream`: A readonly stream implementation representing a view into source data - ### `SabreTools.IO.Transform` File and stream implementations of common data transformations: @@ -90,7 +94,7 @@ Classes designed to make matching contents and paths easier. These classes allow #### Matching Classes | Class | Implements | Notes | -| --- | --- | +| --- | --- | --- | | `ContentMatch` | `IMatch` | Matches contents of a byte array, allowing wildcard bytes using `null` | | `ContentMatchSet` | `IMatchSet` | Group of logically-linked `ContentMatch` | | `FilePathMatch` | `IMatch` | Specialization of `PathMatch` that assumes the string is a filename | diff --git a/SabreTools.IO.Test/Streams/BufferedStreamTests.cs b/SabreTools.IO.Test/BufferedStreamTests.cs similarity index 82% rename from SabreTools.IO.Test/Streams/BufferedStreamTests.cs rename to SabreTools.IO.Test/BufferedStreamTests.cs index 4f2e2e7..d2fbf4c 100644 --- a/SabreTools.IO.Test/Streams/BufferedStreamTests.cs +++ b/SabreTools.IO.Test/BufferedStreamTests.cs @@ -11,7 +11,7 @@ namespace SabreTools.IO.Test.Streams public void ReadNextByte_Empty_Null() { var source = new MemoryStream(); - var stream = new IO.Streams.BufferedStream(source); + var stream = new BufferedStream(source); byte? actual = stream.ReadNextByte(); Assert.Null(actual); } @@ -20,7 +20,7 @@ namespace SabreTools.IO.Test.Streams public void ReadNextByte_Filled_ValidPosition_Byte() { var source = new MemoryStream(new byte[1024]); - var stream = new IO.Streams.BufferedStream(source); + var stream = new BufferedStream(source); byte? actual = stream.ReadNextByte(); Assert.Equal((byte)0x00, actual); } @@ -30,7 +30,7 @@ namespace SabreTools.IO.Test.Streams { var source = new MemoryStream(new byte[1024]); source.Seek(0, SeekOrigin.End); - var stream = new IO.Streams.BufferedStream(source); + var stream = new BufferedStream(source); byte? actual = stream.ReadNextByte(); Assert.Null(actual); } diff --git a/SabreTools.IO.Test/Streams/ReadOnlyBitStreamTests.cs b/SabreTools.IO.Test/ReadOnlyBitStreamTests.cs similarity index 99% rename from SabreTools.IO.Test/Streams/ReadOnlyBitStreamTests.cs rename to SabreTools.IO.Test/ReadOnlyBitStreamTests.cs index 66dfde3..e77274f 100644 --- a/SabreTools.IO.Test/Streams/ReadOnlyBitStreamTests.cs +++ b/SabreTools.IO.Test/ReadOnlyBitStreamTests.cs @@ -1,6 +1,5 @@ using System.IO; using System.Linq; -using SabreTools.IO.Streams; using Xunit; namespace SabreTools.IO.Test.Streams diff --git a/SabreTools.IO.Test/Streams/ReadOnlyCompositeStreamTests.cs b/SabreTools.IO.Test/ReadOnlyCompositeStreamTests.cs similarity index 99% rename from SabreTools.IO.Test/Streams/ReadOnlyCompositeStreamTests.cs rename to SabreTools.IO.Test/ReadOnlyCompositeStreamTests.cs index a257d33..2f84e2d 100644 --- a/SabreTools.IO.Test/Streams/ReadOnlyCompositeStreamTests.cs +++ b/SabreTools.IO.Test/ReadOnlyCompositeStreamTests.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.IO; -using SabreTools.IO.Streams; using Xunit; namespace SabreTools.IO.Test.Streams diff --git a/SabreTools.IO.Test/Streams/ViewStreamTests.cs b/SabreTools.IO.Test/ViewStreamTests.cs similarity index 99% rename from SabreTools.IO.Test/Streams/ViewStreamTests.cs rename to SabreTools.IO.Test/ViewStreamTests.cs index b44fd21..61a9411 100644 --- a/SabreTools.IO.Test/Streams/ViewStreamTests.cs +++ b/SabreTools.IO.Test/ViewStreamTests.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using SabreTools.IO.Streams; using Xunit; #pragma warning disable IDE0017 // Object initialization can be simplified diff --git a/SabreTools.IO/SabreTools.IO.Compression/Quantum/Decompressor.cs b/SabreTools.IO/SabreTools.IO.Compression/Quantum/Decompressor.cs index 5ee23ea..189d4dd 100644 --- a/SabreTools.IO/SabreTools.IO.Compression/Quantum/Decompressor.cs +++ b/SabreTools.IO/SabreTools.IO.Compression/Quantum/Decompressor.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.IO; -using SabreTools.IO.Streams; using static SabreTools.IO.Compression.Quantum.Constants; namespace SabreTools.IO.Compression.Quantum diff --git a/SabreTools.IO/SabreTools.IO.Streams/BufferedStream.cs b/SabreTools.IO/SabreTools.IO/BufferedStream.cs similarity index 98% rename from SabreTools.IO/SabreTools.IO.Streams/BufferedStream.cs rename to SabreTools.IO/SabreTools.IO/BufferedStream.cs index af29680..fc7b098 100644 --- a/SabreTools.IO/SabreTools.IO.Streams/BufferedStream.cs +++ b/SabreTools.IO/SabreTools.IO/BufferedStream.cs @@ -1,6 +1,6 @@ using System.IO; -namespace SabreTools.IO.Streams +namespace SabreTools.IO { /// /// Buffered stream that reads in blocks diff --git a/SabreTools.IO/SabreTools.IO.Streams/ReadOnlyBitStream.cs b/SabreTools.IO/SabreTools.IO/ReadOnlyBitStream.cs similarity index 99% rename from SabreTools.IO/SabreTools.IO.Streams/ReadOnlyBitStream.cs rename to SabreTools.IO/SabreTools.IO/ReadOnlyBitStream.cs index f0142f3..5ed8554 100644 --- a/SabreTools.IO/SabreTools.IO.Streams/ReadOnlyBitStream.cs +++ b/SabreTools.IO/SabreTools.IO/ReadOnlyBitStream.cs @@ -2,7 +2,7 @@ using System.Data; using System.IO; using SabreTools.IO.Extensions; -namespace SabreTools.IO.Streams +namespace SabreTools.IO { /// /// Wrapper to allow reading bits from a source stream diff --git a/SabreTools.IO/SabreTools.IO.Streams/ReadOnlyCompositeStream.cs b/SabreTools.IO/SabreTools.IO/ReadOnlyCompositeStream.cs similarity index 99% rename from SabreTools.IO/SabreTools.IO.Streams/ReadOnlyCompositeStream.cs rename to SabreTools.IO/SabreTools.IO/ReadOnlyCompositeStream.cs index 057cffa..15c0250 100644 --- a/SabreTools.IO/SabreTools.IO.Streams/ReadOnlyCompositeStream.cs +++ b/SabreTools.IO/SabreTools.IO/ReadOnlyCompositeStream.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Data; using System.IO; -namespace SabreTools.IO.Streams +namespace SabreTools.IO { /// /// Read-only stream wrapper around multiple, consecutive streams diff --git a/SabreTools.IO/SabreTools.IO.Streams/ViewStream.cs b/SabreTools.IO/SabreTools.IO/ViewStream.cs similarity index 99% rename from SabreTools.IO/SabreTools.IO.Streams/ViewStream.cs rename to SabreTools.IO/SabreTools.IO/ViewStream.cs index 7a596c2..9bba328 100644 --- a/SabreTools.IO/SabreTools.IO.Streams/ViewStream.cs +++ b/SabreTools.IO/SabreTools.IO/ViewStream.cs @@ -1,7 +1,7 @@ using System; using System.IO; -namespace SabreTools.IO.Streams +namespace SabreTools.IO { /// /// Stream representing a view into a source