SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::fields< fs > Struct Template Reference

A class template that holds a choice of seqan3::field. More...

#include <seqan3/io/record.hpp>

Static Private Member Functions

static constexpr bool contains (field f)
 Whether a field is contained in the parameter pack.
 
static constexpr size_t index_of (field f)
 Retrieve the position of field in the parameter pack.
 

Static Private Attributes

static constexpr std::array< field, sizeof...(fs)> as_array {fs...}
 The template parameters stored in an array for easy access.
 
static constexpr size_t npos = std::numeric_limits<size_t>::max()
 Special value that indicates that index_of() failed.
 
static constexpr size_t size = sizeof...(fs)
 The size of fields.
 

Detailed Description

template<field... fs>
struct seqan3::fields< fs >

A class template that holds a choice of seqan3::field.

Template Parameters
fsThe fields you wish to be present in the seqan3::record returned by your file.
See also
seqan3::record

This class acts as a compile time list of seqan3::field elements. It is used in specialising file classes to determine the elements in a seqan3::record.

Example

// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: CC0-1.0
#include <sstream>
auto input = R"(> TEST1
ACGT
> Test2
AGGCTGA
> Test3
GGAGTATAATATATATATATATAT)";
int main()
{
// specify custom field combination/order to file:
auto record = fin.front(); // get current record, in this case the first
auto & id = record.id();
seqan3::debug_stream << id << '\n'; // TEST1
auto & seq = record.sequence();
seqan3::debug_stream << seq << '\n'; // ACGT
}
The FASTA format.
Definition format_fasta.hpp:77
A class for reading sequence files, e.g. FASTA, FASTQ ...
Definition sequence_file/input.hpp:207
Provides seqan3::debug_stream and related types.
debug_stream_type debug_stream
A global instance of seqan3::debug_stream_type.
Definition debug_stream.hpp:37
@ seq
The "sequence", usually a range of nucleotides or amino acids.
Provides seqan3::sequence_file_output and corresponding traits classes.
Provides the seqan3::record template and the seqan3::field enum.
Provides seqan3::sequence_file_input and corresponding traits classes.
A class template that holds a choice of seqan3::field.
Definition record.hpp:125

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