The class template that file records are based on; behaves like an std::tuple.
More...
#include <seqan3/io/record.hpp>
|
(Note that these are not member functions.)
|
|
This is the tuple interface via seqan3::field, e.g. get<field::seq>(tuple) .
|
template<field f, typename field_types , typename field_ids > |
auto & | get (record< field_types, field_ids > &r) |
| Free function get() for seqan3::record based on seqan3::field.
|
|
template<field f, typename field_types , typename field_ids > |
const auto & | get (record< field_types, field_ids > const &r) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<field f, typename field_types , typename field_ids > |
auto && | get (record< field_types, field_ids > &&r) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<field f, typename field_types , typename field_ids > |
const auto && | get (record< field_types, field_ids > const &&r) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<typename field_types, typename field_ids>
struct seqan3::record< field_types, field_ids >
The class template that file records are based on; behaves like an std::tuple.
- Template Parameters
-
This class template behaves just like an std::tuple, with the exception that it provides an additional get-interface that takes a seqan3::field identifier. The traditional get interfaces (via index and via type) are also supported, but discouraged, because accessing via seqan3::field is unambiguous and better readable.
Example
For input files this template is specialised automatically and provided by the file via its record_type
member. For output files you my define it locally and pass instances of this to the output file's push_back()
.
This is how it works:
int main()
{
using seqan3::operator""_dna4;
record_type my_record{};
get<1>(my_record) = "the most important sequence in the database";
get<seqan3::field::seq>(my_record) = "ACGT"_dna4;
get<std::string>(my_record) = "the least important sequence in the database";
}
◆ get()
auto && get< i > |
( |
type && |
val | ) |
|
|
related |
Return the i-th element of the tuple.
- Template Parameters
-
i | The index of the element to return (of type size_t ). |
- Parameters
-
[in,out] | val | The tuple-like object to operate on. |
- Returns
- The i-th value in the tuple.
- Attention
- This is a concept requirement, not an actual function (however types satisfying this concept will provide an implementation).
-
This constraint is not enforced since empty tuples are valid.
◆ tuple_elment_t()
A transformation trait that holds the type of elements in the tuple.
- Template Parameters
-
i | Index of the queried element type. |
type | The tuple-like type. |
- Attention
- This is a concept requirement, not an actual function (however types satisfying this concept will provide an implementation).
-
This constraint is not enforced since empty tuples are valid.
◆ tuple_size_v()
A unary type trait that holds the number of elements in the tuple.
- Template Parameters
-
- Attention
- This is a concept requirement, not an actual function (however types satisfying this concept will provide an implementation).
The documentation for this struct was generated from the following file: