Files
SabreTools.IO/SabreTools.Matching
Matt Nadareski d614379cf5 Libraries
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.IO.Meta` builds the normal Nuget package that is used by all other projects and includes all namespaces. `SabreTools.IO` builds to `SabreTools.IO.Common` to avoid overwriting issues on publish.
2026-03-21 13:55:42 -04:00
..
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00
2026-03-21 13:55:42 -04:00

SabreTools.Matching

This library contains classes designed to make matching contents and paths easier. These classes allow for both grouped and single matching as well as post-processing of matched information.

Interfaces

Interface Notes
IMatch<T> Represents a matcher for a generic type
IMatchSet<T, U> Represents a set of IMatch<T> types

Matching Classes

Class Implements Notes
ContentMatch IMatch<byte?[]> Matches contents of a byte array, allowing wildcard bytes using null
ContentMatchSet IMatchSet<ContentMatch, byte?[]> Group of logically-linked ContentMatch
FilePathMatch IMatch<string> Specialization of PathMatch that assumes the string is a filename
MatchUtil N/A Utility class for easier invocation of SabreTools.Matching functionality
PathMatch IMatch<string> Matches a set of strings representing a directory hierarchy
PathMatchSet IMatchSet<PathMatch, string> Group of logically-linked PathMatch