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 DiffByteRecord
s by line.
Note that comparison is done in parallel. Therefore, without calling this method, the resulting DiffByteRecord
s 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 DiffByteRecord
s 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 DiffByteRecord
s.
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 ==
.