SeqAn3 3.4.0-rc.4
The Modern C++ library for sequence analysis.
|
An abstract base class to store the selected input format. More...
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_base & | operator= (sequence_format_base const &)=default |
Default. | |
sequence_format_base & | operator= (sequence_format_base &&)=default |
Default. | |
virtual | ~sequence_format_base ()=default |
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.
|
no-apivirtualdefault |
Virtual default.
|
no-apipure virtual |
Reads the next format specific record from the given istream.
[in,out] | instream | The input stream to extract the next record from. |
[in,out] | record_buffer | The record buffer to fill. |
[in,out] | position_buffer | The buffer to store the position of the current record. |
[in] | options | User 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 >.