SeqAn3  3.0.1
The Modern C++ library for sequence analysis.
pack.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2020, Knut Reinert & MPI für molekulare Genetik
4 // This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5 // shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6 // -----------------------------------------------------------------------------------------------------
7 
13 #pragma once
14 
15 #include <type_traits>
16 
17 #include <seqan3/core/platform.hpp>
18 
19 namespace seqan3::detail
20 {
21 
24 
27 template <typename target_t, typename ...pack>
28 struct type_in_pack : std::false_type {};
29 
31 template <typename target_t, typename ...pack>
32 struct type_in_pack<target_t, target_t, pack...> : std::true_type {};
33 
34 template <typename target_t, typename pack1, typename ...pack>
35 struct type_in_pack<target_t, pack1, pack...> : type_in_pack<target_t, pack...> {};
37 
40 template <typename target_t, typename ...pack>
41 inline bool constexpr type_in_pack_v = type_in_pack<target_t, pack...>::value;
42 
44 
45 } // namespace seqan3::detail
std::false_type
platform.hpp
Provides platform and dependency checks.