Loading...
Searching...
No Matches
transformation_trait_or.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 <type_traits>
#include <seqan3/utility/type_traits/concept.hpp>
namespace seqan3::detail
{
template <typename type_t, typename default_t>
using transformation_trait_or = std::conditional_t<transformation_trait<type_t>, // check if type_t::type exists
type_t, // if yes, return type_t
std::type_identity<default_t>>; // else return default_t as trait
template <typename type_t, typename default_t>
using transformation_trait_or_t = typename transformation_trait_or<type_t, default_t>::type;
} // namespace seqan3::detail
type_traits
concept.hpp
Provides the concepts seqan3::transformation_trait and seqan3::unary_type_trait.
Hide me