pxar: match_pattern: impl traits needed for MatchPattern to be comparable.
In order to check if two MatchPattern are identical, which will be used to avoid duplicates. Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
This commit is contained in:
parent
255bb86030
commit
48af80b3ab
@ -60,13 +60,28 @@ pub enum MatchType {
|
||||
/// # Ok(())
|
||||
/// # }
|
||||
/// ```
|
||||
#[derive(Clone)]
|
||||
#[derive(Eq, PartialOrd)]
|
||||
pub struct MatchPattern {
|
||||
pattern: Vec<u8>,
|
||||
match_positive: bool,
|
||||
match_dir_only: bool,
|
||||
}
|
||||
|
||||
impl std::cmp::PartialEq for MatchPattern {
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
self.pattern == other.pattern
|
||||
&& self.match_positive == other.match_positive
|
||||
&& self.match_dir_only == other.match_dir_only
|
||||
}
|
||||
}
|
||||
|
||||
impl std::cmp::Ord for MatchPattern {
|
||||
fn cmp(&self, other: &Self) -> std::cmp::Ordering {
|
||||
(&self.pattern, &self.match_positive, &self.match_dir_only)
|
||||
.cmp(&(&other.pattern, &other.match_positive, &other.match_dir_only))
|
||||
}
|
||||
}
|
||||
|
||||
impl MatchPattern {
|
||||
/// Read a list of `MatchPattern` from file.
|
||||
/// The file is read line by line (lines terminated by newline character),
|
||||
|
Loading…
Reference in New Issue
Block a user