Loading...
Searching...
No Matches
pop_front.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 <utility>
#include <seqan3/utility/tuple/split.hpp>
namespace seqan3
{
template <tuple_like tuple_t>
constexpr auto tuple_pop_front(tuple_t && t)
{
static_assert(std::tuple_size_v<std::remove_cvref_t<tuple_t>> > 0);
return std::get<1>(tuple_split<1>(std::forward<tuple_t>(t)));
}
} // namespace seqan3
std::forward
T forward(T... args)
seqan3::tuple_pop_front
constexpr auto tuple_pop_front(tuple_t &&t)
Removes the first element of a tuple.
Definition pop_front.hpp:39
seqan3::tuple_split
constexpr auto tuple_split(tuple_t< ts... > const &t)
Splits a tuple like data structure at the given position.
Definition split.hpp:87
seqan3
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
split.hpp
Provides seqan3::tuple_split.
std::tuple_size_v
T tuple_size_v
utility
Hide me