SeqAn3 3.1.0
The Modern C++ library for sequence analysis.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tuple_like Interface Reference

Whether a type behaves like a tuple. More...

#include <seqan3/utility/tuple/concept.hpp>

+ Inheritance diagram for tuple_like:

Related Functions

(Note that these are not member functions.)

Requirements for seqan3::tuple_like

You can expect these (meta-)functions on all types that implement seqan3::tuple_like.

size_t tuple_size_v
 A unary type trait that holds the number of elements in the tuple. More...
 
 tuple_elment_t
 A transformation trait that holds the type of elements in the tuple. More...
 
auto && get (type &&val)
 Return the i-th element of the tuple. More...
 

Detailed Descriptionno-api

Whether a type behaves like a tuple.

Types that meet this concept are for example std::tuple, std::pair, std::array, seqan3::pod_tuple, seqan3::record. The std::totally_ordered will only be required if all types contained in the tuple-like data structure are themselves strict totally ordered.

Friends And Related Function Documentation

◆ get() [no-api]

auto && get< i > ( type &&  val)
no-apirelated

Return the i-th element of the tuple.

Template Parameters
iThe index of the element to return (of type size_t).
Parameters
[in,out]valThe 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() [no-api]

tuple_elment_t
no-apirelated

A transformation trait that holds the type of elements in the tuple.

Template Parameters
iIndex of the queried element type.
typeThe 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() [no-api]

size_t tuple_size_v
no-apirelated

A unary type trait that holds the number of elements in the tuple.

Template Parameters
typeThe tuple-like type.
Attention
This is a concept requirement, not an actual function (however types satisfying this concept will provide an implementation).

The documentation for this interface was generated from the following file: