Struct csv_diff::diff_result::DiffByteRecords
source · pub struct DiffByteRecords(_);Expand description
Holds all information about the difference between two CSVs, after they have
been compared with CsvByteDiffLocal.diff.
CSV records that are equal are not stored in this structure.
Also, keep in mind, that differences are stored unordered (with regard to the line in the CSV).
You can use DiffByteRecords.sort_by_line to sort them in-place.
See the example on CsvByteDiffLocal for general usage.
Implementations§
source§impl DiffByteRecords
impl DiffByteRecords
sourcepub fn sort_by_line(&mut self)
pub fn sort_by_line(&mut self)
Sort the underlying DiffByteRecords by line.
Note that comparison is done in parallel. Therefore, without calling this method, the resulting DiffByteRecords are out of order
after the comparison (with regard to their line in the original CSV).
sourcepub fn as_slice(&self) -> &[DiffByteRecord]
pub fn as_slice(&self) -> &[DiffByteRecord]
Return the DiffByteRecords as a single slice.
Example
use csv_diff::{csv_diff::CsvByteDiffLocal, csv::Csv};
use std::collections::HashSet;
use std::iter::FromIterator;
// some csv data with a header, where the first column is a unique id
let csv_data_left = "id,name,kind\n\
1,lemon,fruit\n\
2,strawberry,fruit";
let csv_data_right = "id,name,kind\n\
1,lemon,fruit\n\
2,strawberry,nut\n\
3,cherry,fruit";
let csv_byte_diff = CsvByteDiffLocal::new()?;
let mut diff_byte_records = csv_byte_diff.diff(
Csv::with_reader_seek(csv_data_left.as_bytes()),
Csv::with_reader_seek(csv_data_right.as_bytes()),
)?;
let diff_byte_record_slice = diff_byte_records.as_slice();
assert_eq!(
diff_byte_record_slice.len(),
2
);
Ok(())sourcepub fn iter(&self) -> Iter<'_, DiffByteRecord>
pub fn iter(&self) -> Iter<'_, DiffByteRecord>
Return an iterator over the DiffByteRecords.
Trait Implementations§
source§impl Clone for DiffByteRecords
impl Clone for DiffByteRecords
source§fn clone(&self) -> DiffByteRecords
fn clone(&self) -> DiffByteRecords
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for DiffByteRecords
impl Debug for DiffByteRecords
source§impl IntoIterator for DiffByteRecords
impl IntoIterator for DiffByteRecords
source§impl PartialEq<DiffByteRecords> for DiffByteRecords
impl PartialEq<DiffByteRecords> for DiffByteRecords
source§fn eq(&self, other: &DiffByteRecords) -> bool
fn eq(&self, other: &DiffByteRecords) -> bool
This method tests for
self and other values to be equal, and is used
by ==.