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(())
|
/// # Ok(())
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone)]
|
#[derive(Eq, PartialOrd)]
|
||||||
pub struct MatchPattern {
|
pub struct MatchPattern {
|
||||||
pattern: Vec<u8>,
|
pattern: Vec<u8>,
|
||||||
match_positive: bool,
|
match_positive: bool,
|
||||||
match_dir_only: 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 {
|
impl MatchPattern {
|
||||||
/// Read a list of `MatchPattern` from file.
|
/// Read a list of `MatchPattern` from file.
|
||||||
/// The file is read line by line (lines terminated by newline character),
|
/// The file is read line by line (lines terminated by newline character),
|
||||||
|
|
Loading…
Reference in New Issue