SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::sequence_file_input< traits_type_, selected_field_ids_, valid_formats_ >::sequence_format_base Struct Referenceabstract

An abstract base class to store the selected input format. More...

+ Inheritance diagram for seqan3::sequence_file_input< traits_type_, selected_field_ids_, valid_formats_ >::sequence_format_base:

Public Member Functions

virtual void read_sequence_record (std::istream &instream, record_type &record_buffer, std::streampos &position_buffer, sequence_file_input_options_type const &options)=0
 Reads the next format specific record from the given istream.
 
Constructors, destructor and assignment
 sequence_format_base ()=default
 Default.
 
 sequence_format_base (sequence_format_base const &)=default
 Default.
 
 sequence_format_base (sequence_format_base &&)=default
 Default.
 
sequence_format_baseoperator= (sequence_format_base const &)=default
 Default.
 
sequence_format_baseoperator= (sequence_format_base &&)=default
 Default.
 
virtual ~sequence_format_base ()=default
 

Detailed Description

template<sequence_file_input_traits traits_type_ = sequence_file_input_default_traits_dna, detail::fields_specialisation selected_field_ids_ = fields<field::seq, field::id, field::qual>, detail::type_list_of_sequence_file_input_formats valid_formats_ = type_list<format_embl, format_fasta, format_fastq, format_genbank, format_sam>>
struct seqan3::sequence_file_input< traits_type_, selected_field_ids_, valid_formats_ >::sequence_format_base

An abstract base class to store the selected input format.

This abstract base class is used to store the user given input format as a type-erased base class in a std::unique_ptr. There is exactly one derived type that implements this abstract base class called seqan3::sequence_file_input::selected_sequence_format which is a private subclass of seqan3::sequence_file_input. It is not exposed to the user and allows to hide the implementation detail of storing a specfic format instance which is first known at runtime.

Constructor & Destructor Documentation

◆ ~sequence_format_base()

template<sequence_file_input_traits traits_type_ = sequence_file_input_default_traits_dna, detail::fields_specialisation selected_field_ids_ = fields<field::seq, field::id, field::qual>, detail::type_list_of_sequence_file_input_formats valid_formats_ = type_list<format_embl, format_fasta, format_fastq, format_genbank, format_sam>>
virtual seqan3::sequence_file_input< traits_type_, selected_field_ids_, valid_formats_ >::sequence_format_base::~sequence_format_base ( )
virtualdefault

Virtual default.

Member Function Documentation

◆ read_sequence_record()

template<sequence_file_input_traits traits_type_ = sequence_file_input_default_traits_dna, detail::fields_specialisation selected_field_ids_ = fields<field::seq, field::id, field::qual>, detail::type_list_of_sequence_file_input_formats valid_formats_ = type_list<format_embl, format_fasta, format_fastq, format_genbank, format_sam>>
virtual void seqan3::sequence_file_input< traits_type_, selected_field_ids_, valid_formats_ >::sequence_format_base::read_sequence_record ( std::istream instream,
record_type record_buffer,
std::streampos position_buffer,
sequence_file_input_options_type const &  options 
)
pure virtual

Reads the next format specific record from the given istream.

Parameters
[in,out]instreamThe input stream to extract the next record from.
[in,out]record_bufferThe record buffer to fill.
[in,out]position_bufferThe buffer to store the position of the current record.
[in]optionsUser specific format options set from outside.

Invokes the actual read sequence record function for the selected format and fills the record accordingly.

Implemented in seqan3::sequence_file_input< traits_type_, selected_field_ids_, valid_formats_ >::selected_sequence_format< format_t >.


The documentation for this struct was generated from the following file:
Hide me