SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
record.hpp File Reference

Provides auxiliary data structures and functions for seqan3::record and seqan3::fields. More...

+ Include dependency graph for detail/record.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  seqan3::detail::select_types_with_ids< field_types, field_types_as_ids, selected_field_ids, field_no, return_types >
 Exposes a subset of types as a seqan3::type_list selected based on their IDs. More...
 

Namespaces

namespace  seqan3
 The main SeqAn3 namespace.
 
namespace  seqan3::detail
 The internal SeqAn3 namespace.
 

Concepts

concept  seqan3::detail::fields_specialisation
 Auxiliary concept that checks whether a type is a specialisation of seqan3::fields.
 

Functions

template<field f, typename field_types , typename field_ids , typename or_type >
decltype(auto) seqan3::detail::get_or (record< field_types, field_ids > &r, or_type &&or_value)
 Access an element in a std::tuple or seqan3::record; return or_value if not contained.
 
template<field f, typename field_types , typename field_ids , typename or_type >
decltype(auto) seqan3::detail::get_or (record< field_types, field_ids > const &r, or_type &&or_value)
 Access an element in a std::tuple or seqan3::record; return or_value if not contained.
 
template<size_t i, typename or_type , typename... types>
decltype(auto) seqan3::detail::get_or (std::tuple< types... > &t, or_type &&or_value)
 Access an element in a std::tuple or seqan3::record; return or_value if not contained.
 
template<size_t i, typename or_type , typename... types>
decltype(auto) seqan3::detail::get_or (std::tuple< types... > const &t, or_type &&or_value)
 Access an element in a std::tuple or seqan3::record; return or_value if not contained.
 
template<field f, typename field_types , typename field_ids >
auto & seqan3::detail::get_or_ignore (record< field_types, field_ids > &r)
 Access an element in a std::tuple or seqan3::record; return reference to std::ignore if not contained.
 
template<field f, typename field_types , typename field_ids >
auto const & seqan3::detail::get_or_ignore (record< field_types, field_ids > const &r)
 Access an element in a std::tuple or seqan3::record; return reference to std::ignore if not contained.
 
template<size_t i, tuple_like tuple_t>
auto & seqan3::detail::get_or_ignore (tuple_t &t)
 Access an element in a std::tuple or seqan3::record; return reference to std::ignore if not contained.
 
template<size_t i, tuple_like tuple_t>
auto const & seqan3::detail::get_or_ignore (tuple_t const &t)
 Access an element in a std::tuple or seqan3::record; return reference to std::ignore if not contained.
 
auto seqan3::detail::range_wrap_ignore (ignore_t const &)
 If the argument is std::ignore, return an infinite range of std::ignore values.
 
template<std::ranges::input_range rng_t>
auto & seqan3::detail::range_wrap_ignore (rng_t &range)
 Pass through the reference to the argument in case the argument satisfies std::ranges::input_range.
 

Detailed Description

Provides auxiliary data structures and functions for seqan3::record and seqan3::fields.

Author
Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Hide me