Loading...
Searching...
No Matches
record_like.hpp
Go to the documentation of this file.
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: BSD-3-Clause
#pragma once
#include <seqan3/io/record.hpp>
#include <seqan3/utility/tuple/concept.hpp>
namespace seqan3::detail
{
template <typename record_t>
struct is_derived_from_record
{
private:
static std::false_type derived_from(...);
template <typename... args_t>
static std::true_type derived_from(seqan3::record<args_t...> &);
public:
static constexpr bool value = decltype(derived_from(std::declval<record_t &>())){};
};
template <typename record_t>
concept record_like = tuple_like<record_t> && is_derived_from_record<std::remove_cvref_t<record_t>>::value;
} // namespace seqan3::detail
std::declval
T declval(T... args)
record.hpp
Provides the seqan3::record template and the seqan3::field enum.
concept.hpp
Provides seqan3::tuple_like.
Hide me