pub fn substrings(&self, other: &Strand<T>) -> Vec<usize> {
    let mut indexes = vec![];
    if other.nucleotides.len() < self.nucleotides.len() {
      return vec![];
    }
    for i in 0..(other.nucleotides.len() - self.nucleotides.len()) {
      if self.is_substr_starting_from(other, i) {
        indexes.push(i);
      }
    }
    indexes
  }
/// returns all indexes where this is a substring of other
returns all indexes where this is a substring of other
returns all indexes where this is a substring of other
pub fn substrings(&self, other: &Strand<T>) -> Vec<usize> {
    let mut indexes = vec![];
    if other.nucleotides.len() < self.nucleotides.len() {
      return vec![];
    }
    for i in 0..(other.nucleotides.len() - self.nucleotides.len()) {
      if self.is_substr_starting_from(other, i) {
        indexes.push(i);
      }
    }
    indexes
  }
pub fn substrings ( & self , other : & Strand < T > ) -> Vec < usize > { let mut indexes = vec ! [ ] ; if other . nucleotides . len ( ) < self . nucleotides . len ( ) { return vec ! [ ] ; } for i in 0 .. ( other . nucleotides . len ( ) - self . nucleotides . len ( ) ) { if self . is_substr_starting_from ( other , i ) { indexes . push ( i ) ; } } indexes }
returns all indexes where this is a substring of other
returns all indexes where this is a substring of other
&self
other
&Strand<T>
&self
other
&Strand<T>