
(Note that these are not member functions.)


You can expect these functions on all types that model seqan3::writable_aligned_sequence.

std::ranges::iterator_t< aligned_seq_t >  insert_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it) 
 Insert a seqan3::gap into an aligned sequence.


std::ranges::iterator_t< aligned_seq_t >  insert_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it, typename aligned_seq_t::size_type size) 
 Insert multiple seqan3::gap into an aligned sequence.


std::ranges::iterator_t< aligned_seq_t >  erase_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it) 
 Erase a seqan3::gap from an aligned sequence.


std::ranges::iterator_t< aligned_seq_t >  erase_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator first, typename aligned_seq_t::const_iterator last) 
 Erase multiple seqan3::gap from an aligned sequence.


void  assign_unaligned (aligned_seq_t &aligned_seq, unaligned_sequence_type &&unaligned_seq) 
 Assign an ungapped sequence to a gapped sequence.



Enables containers to model seqan3::writable_aligned_sequence if they model seqan3::sequence_container and have a value type of the seqan3::gapped alphabet.

template<sequence_container aligned_seq_t> 
aligned_seq_t::iterator  insert_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it) 
 An implementation of seqan3::writable_aligned_sequence::insert_gap for sequence containers.


template<sequence_container aligned_seq_t> 
aligned_seq_t::iterator  insert_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it, typename aligned_seq_t::size_type size) 
 An implementation of seqan3::writable_aligned_sequence::insert_gap for sequence containers.


template<sequence_container aligned_seq_t> 
aligned_seq_t::iterator  erase_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it) 
 An implementation of seqan3::writable_aligned_sequence::erase_gap for sequence containers.


template<sequence_container aligned_seq_t> 
aligned_seq_t::iterator  erase_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator first, typename aligned_seq_t::const_iterator last) 
 An implementation of seqan3::writable_aligned_sequence::erase_gap for sequence containers.


template<sequence_container aligned_seq_t, std::ranges::forward_range unaligned_sequence_type> 
void  assign_unaligned (aligned_seq_t &aligned_seq, unaligned_sequence_type &&unaligned_seq) 
 An implementation of seqan3::writable_aligned_sequence::assign_unaligned_sequence for sequence containers.



Enables ranges to model seqan3::aligned_sequence if they have the member functions insert_gap() and erase_gap().

template<typename range_type > 
std::ranges::iterator_t< range_type >  insert_gap (range_type &rng, std::ranges::iterator_t< range_type > const pos_it, typename range_type::size_type const size=1) 
 An implementation of seqan3::writable_aligned_sequence::insert_gap for ranges with the corresponding member function insert_gap(it, size).


template<typename range_type > 
std::ranges::iterator_t< range_type >  erase_gap (range_type &rng, std::ranges::iterator_t< range_type > const pos_it) 
 An implementation of seqan3::writable_aligned_sequence::erase_gap for ranges with the corresponding member function erase_gap(it).


template<typename range_type > 
std::ranges::iterator_t< range_type >  erase_gap (range_type &rng, std::ranges::iterator_t< range_type > const first, std::ranges::iterator_t< range_type > const last) 
 An implementation of seqan3::writable_aligned_sequence::erase_gap for ranges with the corresponding member function erase_gap(first, last).

