BitVectorSubGenome

Struct BitVectorSubGenome 

Source
pub struct BitVectorSubGenome<AlphabetType: Alphabet, BitStoreType = usize>
where BitStoreType: BitStore,
{ /* private fields */ }
Expand description

The subsequence of a genome sequence stored as vector of minimum-bit characters.

Trait Implementations§

Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Borrow<BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorGenome<AlphabetType, BitStoreType>

Source§

fn borrow(&self) -> &BitVectorSubGenome<AlphabetType, BitStoreType>

Immutably borrows from an owned value. Read more
Source§

impl<AlphabetType: Debug + Alphabet, BitStoreType> Debug for BitVectorSubGenome<AlphabetType, BitStoreType>
where BitStoreType: BitStore + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

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

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.
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> EditableSequence<<AlphabetType as Alphabet>::CharacterType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorGenome<AlphabetType, BitStoreType>

Source§

fn set( &mut self, index: usize, character: <AlphabetType as Alphabet>::CharacterType, )

Replace the item at the given index with the given item.
Source§

fn split_off(&mut self, at: usize) -> Self

Source§

fn reserve(&mut self, additional: usize)

Reserve memory for at least additional items.
Source§

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

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

fn resize_with( &mut self, new_len: usize, generator: impl FnMut() -> AlphabetType::CharacterType, )

Resize to contain the given number of items. Empty spaces are filled with the given items generated by generator.
Source§

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

Insert the given item at the end of the sequence.
Source§

fn splice( &mut self, range: Range<usize>, replace_with: impl IntoIterator<Item = AlphabetType::CharacterType>, )

Source§

fn extend_into<ExtensionItem, ExtensionSource>( &mut self, extension: ExtensionSource, )
where ExtensionItem: Into<Item>, ExtensionSource: IntoIterator<Item = ExtensionItem>,

Extend this sequence from a sequence of compatible items.
Source§

fn delete(&mut self, range: Range<usize>)
where Item: Clone,

Delete the items in the specified range.
Source§

fn insert_repeat(&mut self, source_range: Range<usize>, target: usize)
where Item: Clone,

Insert a repeat at target that consists of the cloned items in source_range.
Source§

impl<const K: usize, AlphabetType: Alphabet, BitArrayType: BitViewSized + BitStore + BitView<Store = BitArrayType>> GenomeSequence<AlphabetType, BitVectorSubGenome<AlphabetType, BitArrayType>> for BitArrayKmer<K, AlphabetType, BitArrayType>

Source§

fn as_genome_subsequence( &self, ) -> &BitVectorSubGenome<AlphabetType, BitArrayType>

Get a reference to this genome as its subsequence type.
Source§

fn is_valid(&self) -> bool

Returns true if this genome is valid, i.e. it contains no invalid characters.
Source§

fn clone_as_vec(&self) -> Vec<u8>

Copies this genome string into a Vec.
Source§

fn as_string(&self) -> String

Returns the genome as nucleotide string.
Source§

fn reverse_complement_iter( &self, ) -> ReverseComplementIterator<Self::Iterator<'_>, AlphabetType>

Returns an iterator over the reverse complement of this genome. Panics if the iterator his an invalid character (see not valid).
Source§

fn cloned_k_mer_iter<const K: usize, KmerType: OwnedKmer<K, AlphabetType, GenomeSubsequence>>( &self, ) -> OwnedKmerIterator<'_, Self, KmerType>

Returns an iterator over the k-mers of this genome. The k-mers are cloned from this genome.
Source§

fn convert_with_reverse_complement<ReverseComplementSequence: OwnedGenomeSequence<AlphabetType, ReverseComplementSubsequence>, ReverseComplementSubsequence: GenomeSequence<AlphabetType, ReverseComplementSubsequence> + ?Sized>( &self, ) -> ReverseComplementSequence

Returns an owned copy of the reverse complement of this genome. Panics if this genome is not valid.
Source§

fn convert<ResultSequence: OwnedGenomeSequence<AlphabetType, ResultSubsequence>, ResultSubsequence: GenomeSequence<AlphabetType, ResultSubsequence> + ?Sized>( &self, ) -> ResultSequence

Returns an owned copy of this genome.
Source§

fn is_canonical(&self) -> bool

Returns true if the genome is canonical. A canonical genome is lexicographically smaller or equal to its reverse complement.
Source§

fn is_self_complemental(&self) -> bool

Returns true if the genome is self-complemental. A self-complemental genome is equivalent to its reverse complement.
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> GenomeSequence<AlphabetType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorGenome<AlphabetType, BitStoreType>

Source§

fn as_genome_subsequence( &self, ) -> &BitVectorSubGenome<AlphabetType, BitStoreType>

Get a reference to this genome as its subsequence type.
Source§

fn is_valid(&self) -> bool

Returns true if this genome is valid, i.e. it contains no invalid characters.
Source§

fn clone_as_vec(&self) -> Vec<u8>

Copies this genome string into a Vec.
Source§

fn as_string(&self) -> String

Returns the genome as nucleotide string.
Source§

fn reverse_complement_iter( &self, ) -> ReverseComplementIterator<Self::Iterator<'_>, AlphabetType>

Returns an iterator over the reverse complement of this genome. Panics if the iterator his an invalid character (see not valid).
Source§

fn cloned_k_mer_iter<const K: usize, KmerType: OwnedKmer<K, AlphabetType, GenomeSubsequence>>( &self, ) -> OwnedKmerIterator<'_, Self, KmerType>

Returns an iterator over the k-mers of this genome. The k-mers are cloned from this genome.
Source§

fn convert_with_reverse_complement<ReverseComplementSequence: OwnedGenomeSequence<AlphabetType, ReverseComplementSubsequence>, ReverseComplementSubsequence: GenomeSequence<AlphabetType, ReverseComplementSubsequence> + ?Sized>( &self, ) -> ReverseComplementSequence

Returns an owned copy of the reverse complement of this genome. Panics if this genome is not valid.
Source§

fn convert<ResultSequence: OwnedGenomeSequence<AlphabetType, ResultSubsequence>, ResultSubsequence: GenomeSequence<AlphabetType, ResultSubsequence> + ?Sized>( &self, ) -> ResultSequence

Returns an owned copy of this genome.
Source§

fn is_canonical(&self) -> bool

Returns true if the genome is canonical. A canonical genome is lexicographically smaller or equal to its reverse complement.
Source§

fn is_self_complemental(&self) -> bool

Returns true if the genome is self-complemental. A self-complemental genome is equivalent to its reverse complement.
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> GenomeSequence<AlphabetType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

fn is_valid(&self) -> bool

Returns true if this genome is valid, i.e. it contains no invalid characters.
Source§

fn clone_as_vec(&self) -> Vec<u8>

Copies this genome string into a Vec.
Source§

fn as_genome_subsequence(&self) -> &GenomeSubsequence

Get a reference to this genome as its subsequence type.
Source§

fn as_string(&self) -> String

Returns the genome as nucleotide string.
Source§

fn reverse_complement_iter( &self, ) -> ReverseComplementIterator<Self::Iterator<'_>, AlphabetType>

Returns an iterator over the reverse complement of this genome. Panics if the iterator his an invalid character (see not valid).
Source§

fn cloned_k_mer_iter<const K: usize, KmerType: OwnedKmer<K, AlphabetType, GenomeSubsequence>>( &self, ) -> OwnedKmerIterator<'_, Self, KmerType>

Returns an iterator over the k-mers of this genome. The k-mers are cloned from this genome.
Source§

fn convert_with_reverse_complement<ReverseComplementSequence: OwnedGenomeSequence<AlphabetType, ReverseComplementSubsequence>, ReverseComplementSubsequence: GenomeSequence<AlphabetType, ReverseComplementSubsequence> + ?Sized>( &self, ) -> ReverseComplementSequence

Returns an owned copy of the reverse complement of this genome. Panics if this genome is not valid.
Source§

fn convert<ResultSequence: OwnedGenomeSequence<AlphabetType, ResultSubsequence>, ResultSubsequence: GenomeSequence<AlphabetType, ResultSubsequence> + ?Sized>( &self, ) -> ResultSequence

Returns an owned copy of this genome.
Source§

fn is_canonical(&self) -> bool

Returns true if the genome is canonical. A canonical genome is lexicographically smaller or equal to its reverse complement.
Source§

fn is_self_complemental(&self) -> bool

Returns true if the genome is self-complemental. A self-complemental genome is equivalent to its reverse complement.
Source§

impl<AlphabetType: Hash + Alphabet, BitStoreType> Hash for BitVectorSubGenome<AlphabetType, BitStoreType>
where BitStoreType: BitStore + Hash,

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<Range<usize>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = BitVectorSubGenome<AlphabetType, BitStoreType>

The returned type after indexing.
Source§

fn index(&self, index: Range<usize>) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<RangeFrom<usize>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = BitVectorSubGenome<AlphabetType, BitStoreType>

The returned type after indexing.
Source§

fn index(&self, index: RangeFrom<usize>) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<RangeFull> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = BitVectorSubGenome<AlphabetType, BitStoreType>

The returned type after indexing.
Source§

fn index(&self, _index: RangeFull) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<RangeInclusive<usize>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = BitVectorSubGenome<AlphabetType, BitStoreType>

The returned type after indexing.
Source§

fn index(&self, index: RangeInclusive<usize>) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<RangeTo<usize>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = BitVectorSubGenome<AlphabetType, BitStoreType>

The returned type after indexing.
Source§

fn index(&self, index: RangeTo<usize>) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<RangeToInclusive<usize>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = BitVectorSubGenome<AlphabetType, BitStoreType>

The returned type after indexing.
Source§

fn index(&self, index: RangeToInclusive<usize>) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Index<usize> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Output = <AlphabetType as Alphabet>::CharacterType

The returned type after indexing.
Source§

fn index(&self, index: usize) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<const K: usize, AlphabetType: Alphabet, BitArrayType: BitViewSized + BitStore> Kmer<K, AlphabetType, BitVectorSubGenome<AlphabetType, BitArrayType>> for BitVectorSubGenome<AlphabetType, BitArrayType>

Source§

fn k() -> usize

The length of sequences of this type.
Source§

impl<const K: usize, AlphabetType: Alphabet, BitArrayType: BitViewSized + BitStore + BitView<Store = BitArrayType>> OwnedGenomeSequence<AlphabetType, BitVectorSubGenome<AlphabetType, BitArrayType>> for BitArrayKmer<K, AlphabetType, BitArrayType>

Source§

fn clone_as_reverse_complement(&self) -> Self

Returns the reverse complement of this genome. Panics if this genome is not valid.
Source§

fn from_iter_u8<T: IntoIterator<Item = u8>>( iter: T, ) -> Result<Self, AlphabetError>

Constructs an owned genome sequence from an IntoIter over ASCII characters. If any character is not part of the alphabet, then None is returned.
Source§

fn from_slice_u8(slice: &[u8]) -> Result<Self, AlphabetError>

Constructs an owned genome sequence from a slice of ASCII characters. If any character is not part of the alphabet, then None is returned.
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> OwnedGenomeSequence<AlphabetType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorGenome<AlphabetType, BitStoreType>

Source§

fn clone_as_reverse_complement(&self) -> Self

Returns the reverse complement of this genome. Panics if this genome is not valid.
Source§

fn from_iter_u8<T: IntoIterator<Item = u8>>( iter: T, ) -> Result<Self, AlphabetError>

Constructs an owned genome sequence from an IntoIter over ASCII characters. If any character is not part of the alphabet, then None is returned.
Source§

fn from_slice_u8(slice: &[u8]) -> Result<Self, AlphabetError>

Constructs an owned genome sequence from a slice of ASCII characters. If any character is not part of the alphabet, then None is returned.
Source§

impl<const K: usize, AlphabetType: Alphabet, BitArrayType: BitViewSized + BitStore + BitView<Store = BitArrayType>> OwnedKmer<K, AlphabetType, BitVectorSubGenome<AlphabetType, BitArrayType>> for BitArrayKmer<K, AlphabetType, BitArrayType>

Source§

fn successor( &self, successor: <AlphabetType as Alphabet>::CharacterType, ) -> Self

Get the successor of this k-mer with the specified character. Read more
Source§

impl<AlphabetType: PartialEq + Alphabet, BitStoreType> PartialEq for BitVectorSubGenome<AlphabetType, BitStoreType>
where BitStoreType: BitStore + PartialEq,

Source§

fn eq(&self, other: &BitVectorSubGenome<AlphabetType, BitStoreType>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<AlphabetType: Alphabet, BitStoreType> RefCast for BitVectorSubGenome<AlphabetType, BitStoreType>
where BitStoreType: BitStore,

Source§

type From = BitSlice<BitStoreType>

Source§

fn ref_cast(_from: &Self::From) -> &Self

Source§

fn ref_cast_mut(_from: &mut Self::From) -> &mut Self

Source§

impl<const K: usize, AlphabetType: Alphabet, BitArrayType: BitViewSized + BitStore + BitView<Store = BitArrayType>> Sequence<<AlphabetType as Alphabet>::CharacterType, BitVectorSubGenome<AlphabetType, BitArrayType>> for BitArrayKmer<K, AlphabetType, BitArrayType>

Source§

type Iterator<'a> = BitVectorSubGenomeIterator<'a, AlphabetType, BitArrayType> where Self: 'a, AlphabetType::CharacterType: 'a

The iterator type of the sequence.
Source§

fn iter(&self) -> Self::Iterator<'_>

Returns an iterator over the sequence.
Source§

fn len(&self) -> usize

Returns the length of the sequence.
Source§

fn prefix(&self, len: usize) -> &Subsequence

Returns a prefix with length len of this sequence. Panics if len >= self.len().
Source§

fn suffix(&self, len: usize) -> &Subsequence

Returns a suffix with length len of this sequence. Panics if len >= self.len().
Source§

fn is_empty(&self) -> bool

Returns true if the sequence is empty.
Source§

fn first(&self) -> Option<&Item>

Returns the first item of the sequence.
Source§

fn last(&self) -> Option<&Item>

Returns the last item of the sequence.
Source§

fn is_proper_subsequence_of(&self, other: &Self) -> bool
where Item: Eq,

Returns true if this is a proper subsequence of the given sequence. Proper means that the sequences are not equal.
Source§

fn contains(&self, item: &Item) -> bool
where Item: Eq,

Returns true if this sequence contains the given item.
Source§

fn forward_merge_iter_assume_mergeable<'a>( &'a self, suffix: &'a Self, ) -> Chain<Self::Iterator<'a>, Skip<Self::Iterator<'a>>>
where Item: Eq,

Returns an iterator over this sequence merged before the given other sequence under the assumption that the sequences can be merged this way. A merge is possible if a non-empty suffix of this sequence equals a non-empty prefix of the other sequence. Read more
Source§

fn backward_merge_iter_assume_mergeable<'a>( &'a self, suffix: &'a Self, ) -> Chain<Self::Iterator<'a>, Skip<Self::Iterator<'a>>>
where Item: Eq,

Returns an iterator over this sequence merged after the given other sequence under the assumption that the sequences can be merged this way. A merge is possible if a non-empty prefix of this sequence equals a non-empty suffix of the other sequence. Read more
Source§

fn to_debug_string(&self) -> String
where Item: Debug,

Converts the sequence to a string using the debug formatting of the items. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Sequence<<AlphabetType as Alphabet>::CharacterType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorGenome<AlphabetType, BitStoreType>

Source§

type Iterator<'a> = BitVectorSubGenomeIterator<'a, AlphabetType, BitStoreType> where AlphabetType: 'a

The iterator type of the sequence.
Source§

fn iter(&self) -> Self::Iterator<'_>

Returns an iterator over the sequence.
Source§

fn len(&self) -> usize

Returns the length of the sequence.
Source§

fn prefix(&self, len: usize) -> &Subsequence

Returns a prefix with length len of this sequence. Panics if len >= self.len().
Source§

fn suffix(&self, len: usize) -> &Subsequence

Returns a suffix with length len of this sequence. Panics if len >= self.len().
Source§

fn is_empty(&self) -> bool

Returns true if the sequence is empty.
Source§

fn first(&self) -> Option<&Item>

Returns the first item of the sequence.
Source§

fn last(&self) -> Option<&Item>

Returns the last item of the sequence.
Source§

fn is_proper_subsequence_of(&self, other: &Self) -> bool
where Item: Eq,

Returns true if this is a proper subsequence of the given sequence. Proper means that the sequences are not equal.
Source§

fn contains(&self, item: &Item) -> bool
where Item: Eq,

Returns true if this sequence contains the given item.
Source§

fn forward_merge_iter_assume_mergeable<'a>( &'a self, suffix: &'a Self, ) -> Chain<Self::Iterator<'a>, Skip<Self::Iterator<'a>>>
where Item: Eq,

Returns an iterator over this sequence merged before the given other sequence under the assumption that the sequences can be merged this way. A merge is possible if a non-empty suffix of this sequence equals a non-empty prefix of the other sequence. Read more
Source§

fn backward_merge_iter_assume_mergeable<'a>( &'a self, suffix: &'a Self, ) -> Chain<Self::Iterator<'a>, Skip<Self::Iterator<'a>>>
where Item: Eq,

Returns an iterator over this sequence merged after the given other sequence under the assumption that the sequences can be merged this way. A merge is possible if a non-empty prefix of this sequence equals a non-empty suffix of the other sequence. Read more
Source§

fn to_debug_string(&self) -> String
where Item: Debug,

Converts the sequence to a string using the debug formatting of the items. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> Sequence<<AlphabetType as Alphabet>::CharacterType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Iterator<'a> = BitVectorSubGenomeIterator<'a, AlphabetType, BitStoreType> where AlphabetType: 'a

The iterator type of the sequence.
Source§

fn iter(&self) -> Self::Iterator<'_>

Returns an iterator over the sequence.
Source§

fn len(&self) -> usize

Returns the length of the sequence.
Source§

fn prefix(&self, len: usize) -> &Subsequence

Returns a prefix with length len of this sequence. Panics if len >= self.len().
Source§

fn suffix(&self, len: usize) -> &Subsequence

Returns a suffix with length len of this sequence. Panics if len >= self.len().
Source§

fn is_empty(&self) -> bool

Returns true if the sequence is empty.
Source§

fn first(&self) -> Option<&Item>

Returns the first item of the sequence.
Source§

fn last(&self) -> Option<&Item>

Returns the last item of the sequence.
Source§

fn is_proper_subsequence_of(&self, other: &Self) -> bool
where Item: Eq,

Returns true if this is a proper subsequence of the given sequence. Proper means that the sequences are not equal.
Source§

fn contains(&self, item: &Item) -> bool
where Item: Eq,

Returns true if this sequence contains the given item.
Source§

fn forward_merge_iter_assume_mergeable<'a>( &'a self, suffix: &'a Self, ) -> Chain<Self::Iterator<'a>, Skip<Self::Iterator<'a>>>
where Item: Eq,

Returns an iterator over this sequence merged before the given other sequence under the assumption that the sequences can be merged this way. A merge is possible if a non-empty suffix of this sequence equals a non-empty prefix of the other sequence. Read more
Source§

fn backward_merge_iter_assume_mergeable<'a>( &'a self, suffix: &'a Self, ) -> Chain<Self::Iterator<'a>, Skip<Self::Iterator<'a>>>
where Item: Eq,

Returns an iterator over this sequence merged after the given other sequence under the assumption that the sequences can be merged this way. A merge is possible if a non-empty prefix of this sequence equals a non-empty suffix of the other sequence. Read more
Source§

fn to_debug_string(&self) -> String
where Item: Debug,

Converts the sequence to a string using the debug formatting of the items. Read more
Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> ToOwned for BitVectorSubGenome<AlphabetType, BitStoreType>

Source§

type Owned = BitVectorGenome<AlphabetType, BitStoreType>

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> Self::Owned

Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · Source§

fn clone_into(&self, target: &mut Self::Owned)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<AlphabetType: Eq + Alphabet, BitStoreType> Eq for BitVectorSubGenome<AlphabetType, BitStoreType>
where BitStoreType: BitStore + Eq,

Source§

impl<const K: usize, AlphabetType: Alphabet, BitArrayType: BitViewSized + BitStore + BitView<Store = BitArrayType>> OwnedSequence<<AlphabetType as Alphabet>::CharacterType, BitVectorSubGenome<AlphabetType, BitArrayType>> for BitArrayKmer<K, AlphabetType, BitArrayType>

Source§

impl<AlphabetType: Alphabet, BitStoreType: BitStore> OwnedSequence<<AlphabetType as Alphabet>::CharacterType, BitVectorSubGenome<AlphabetType, BitStoreType>> for BitVectorGenome<AlphabetType, BitStoreType>

Source§

impl<AlphabetType: Alphabet, BitStoreType> StructuralPartialEq for BitVectorSubGenome<AlphabetType, BitStoreType>
where BitStoreType: BitStore,

Auto Trait Implementations§

§

impl<AlphabetType, BitStoreType> Freeze for BitVectorSubGenome<AlphabetType, BitStoreType>

§

impl<AlphabetType, BitStoreType> RefUnwindSafe for BitVectorSubGenome<AlphabetType, BitStoreType>
where AlphabetType: RefUnwindSafe, BitStoreType: RefUnwindSafe,

§

impl<AlphabetType, BitStoreType> Send for BitVectorSubGenome<AlphabetType, BitStoreType>
where AlphabetType: Send, BitStoreType: Sync,

§

impl<AlphabetType, BitStoreType = usize> !Sized for BitVectorSubGenome<AlphabetType, BitStoreType>

§

impl<AlphabetType, BitStoreType> Sync for BitVectorSubGenome<AlphabetType, BitStoreType>
where AlphabetType: Sync, BitStoreType: Sync,

§

impl<AlphabetType, BitStoreType> Unpin for BitVectorSubGenome<AlphabetType, BitStoreType>
where AlphabetType: Unpin,

§

impl<AlphabetType, BitStoreType> UnwindSafe for BitVectorSubGenome<AlphabetType, BitStoreType>
where AlphabetType: UnwindSafe, BitStoreType: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.