pub trait EditableGenomeSequence<AlphabetType: Alphabet, GenomeSubsequence: GenomeSequence<AlphabetType, GenomeSubsequence> + ?Sized>: EditableSequence<AlphabetType::CharacterType, GenomeSubsequence> + GenomeSequence<AlphabetType, GenomeSubsequence> {
    // Required methods
    fn reserve(&mut self, additional: usize);
    fn resize(&mut self, len: usize, default: AlphabetType::CharacterType);
    fn push(&mut self, character: AlphabetType::CharacterType);

    // Provided methods
    fn into_iter_u8(
        self,
    ) -> Map<<Self as IntoIterator>::IntoIter, fn(_: <AlphabetType as Alphabet>::CharacterType) -> u8>  { ... }
    fn extend_from_iter_u8<IteratorType: IntoIterator<Item = u8>>(
        &mut self,
        iter: IteratorType,
    ) -> Result<(), AlphabetError> { ... }
    fn extend_from_slice_u8(
        &mut self,
        slice: &[u8],
    ) -> Result<(), AlphabetError> { ... }
}
Expand description

An editable genome sequence.

Required Methods§

source

fn reserve(&mut self, additional: usize)

Reserve memory for at least additional items.

source

fn resize(&mut self, len: usize, default: AlphabetType::CharacterType)

Resize to contain the given number of items. Empty spaces are filled with the given default item.

source

fn push(&mut self, character: AlphabetType::CharacterType)

Insert the given character at the end of the genome sequence.

Provided Methods§

source

fn into_iter_u8( self, ) -> Map<<Self as IntoIterator>::IntoIter, fn(_: <AlphabetType as Alphabet>::CharacterType) -> u8>

Converts this genome sequence into an iterator over ASCII characters.

source

fn extend_from_iter_u8<IteratorType: IntoIterator<Item = u8>>( &mut self, iter: IteratorType, ) -> Result<(), AlphabetError>

Extends this genome from a sequence of ASCII characters.

source

fn extend_from_slice_u8(&mut self, slice: &[u8]) -> Result<(), AlphabetError>

Extends this genome from a sequence of ASCII characters.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<AlphabetType: Alphabet> EditableGenomeSequence<AlphabetType, BitVectorSubGenome<AlphabetType>> for BitVectorGenome<AlphabetType>

source§

impl<AlphabetType: Alphabet> EditableGenomeSequence<AlphabetType, SliceSubGenome<AlphabetType>> for VectorGenome<AlphabetType>