diff options
| author | Botahamec <botahamec@outlook.com> | 2023-07-30 19:49:53 -0400 |
|---|---|---|
| committer | Botahamec <botahamec@outlook.com> | 2023-07-30 19:49:53 -0400 |
| commit | f3c7e9717ba7679480aa71ecd5674d708b7837b0 (patch) | |
| tree | d84d5da163a8350bbb9bbb2edc9ceb4898ed4a8b /src/csets.rs | |
| parent | 5aa40e97ad88f36fb19429f613f1bbd93883a891 (diff) | |
Add derive traits
Diffstat (limited to 'src/csets.rs')
| -rw-r--r-- | src/csets.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/csets.rs b/src/csets.rs index a74d87b..f8f58a9 100644 --- a/src/csets.rs +++ b/src/csets.rs @@ -32,6 +32,7 @@ pub trait CharacterSet: Sized { } } +#[derive(Debug, Clone, Copy)] pub struct AnyCharacter; impl CharacterSet for AnyCharacter { @@ -40,6 +41,7 @@ impl CharacterSet for AnyCharacter { } } +#[derive(Debug, Clone, Copy)] pub struct Ascii; impl CharacterSet for Ascii { @@ -48,6 +50,7 @@ impl CharacterSet for Ascii { } } +#[derive(Debug, Clone, Copy)] pub struct AsciiDigits; impl CharacterSet for AsciiDigits { @@ -56,6 +59,7 @@ impl CharacterSet for AsciiDigits { } } +#[derive(Debug, Clone, Copy)] pub struct AsciiLowercase; impl CharacterSet for AsciiLowercase { @@ -64,6 +68,7 @@ impl CharacterSet for AsciiLowercase { } } +#[derive(Debug, Clone, Copy)] pub struct AsciiUppercase; impl CharacterSet for AsciiUppercase { @@ -72,6 +77,7 @@ impl CharacterSet for AsciiUppercase { } } +#[derive(Debug, Clone, Copy)] pub struct AsciiLetters; impl CharacterSet for AsciiLetters { @@ -104,6 +110,7 @@ impl CharacterSet for HashSet<char> { } } +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub struct CharacterSetUnion<A: CharacterSet, B: CharacterSet> { first: A, second: B, @@ -115,6 +122,7 @@ impl<A: CharacterSet, B: CharacterSet> CharacterSet for CharacterSetUnion<A, B> } } +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub struct CharacterSetIntersection<A: CharacterSet, B: CharacterSet> { first: A, second: B, @@ -126,6 +134,8 @@ impl<A: CharacterSet, B: CharacterSet> CharacterSet for CharacterSetIntersection } } +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub struct CharacterSetDifference<A: CharacterSet, B: CharacterSet> { first: A, second: B, @@ -137,6 +147,8 @@ impl<A: CharacterSet, B: CharacterSet> CharacterSet for CharacterSetDifference<A } } +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub struct CharacterSetComplement<Inner: CharacterSet> { inner: Inner, } |
