java_diff_utils_rs/text/delta_merge/
inline_delta_merge_info.rs1use crate::patch::delta::Delta;
4
5#[derive(Debug, Clone, PartialEq, Eq)]
7pub struct InlineDeltaMergeInfo<T = String> {
8 deltas: Vec<Delta<T>>,
9 orig_list: Vec<T>,
10 rev_list: Vec<T>,
11}
12
13impl<T> InlineDeltaMergeInfo<T> {
14 pub fn new(deltas: Vec<Delta<T>>, orig_list: Vec<T>, rev_list: Vec<T>) -> Self {
16 Self {
17 deltas,
18 orig_list,
19 rev_list,
20 }
21 }
22
23 pub fn deltas(&self) -> &[Delta<T>] {
25 &self.deltas
26 }
27
28 pub fn orig_list(&self) -> &[T] {
30 &self.orig_list
31 }
32
33 pub fn rev_list(&self) -> &[T] {
35 &self.rev_list
36 }
37
38 pub fn into_parts(self) -> (Vec<Delta<T>>, Vec<T>, Vec<T>) {
40 (self.deltas, self.orig_list, self.rev_list)
41 }
42}