SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
header.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2021, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2021, 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 
14 #pragma once
15 
17 
18 namespace seqan3
19 {
21 template <std::ranges::forward_range ref_ids_type = std::deque<std::string>>
22 #if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201907L
23 using alignment_file_header SEQAN3_DEPRECATED_310 = sam_file_header<ref_ids_type>;
24 #else // defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201907L
25 // This is a workaround for pre-c++20 as CTAD don't work on type aliases.
27  public sam_file_header<ref_ids_type>
28 {
30  using sam_file_header_t = sam_file_header<ref_ids_type>;
31  using sam_file_header_t::sam_file_header_t;
32  using sam_file_header_t::operator=;
34 };
35 
37 template <typename ...args_t>
38 alignment_file_header(args_t && ...args) ->
39  alignment_file_header<std::remove_reference_t<decltype(sam_file_header{std::forward<args_t>(args)...}.ref_ids())>>;
41 #endif // defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201907L
42 
43 } // namespace seqan3
44 
45 SEQAN3_DEPRECATED_HEADER("This header is deprecated and will be removed in SeqAn-3.1.0 Please #include <seqan3/io/sam_file/header.hpp> instead.")
Stores the header information of alignment files.
Definition: header.hpp:32
ref_ids_type & ref_ids()
The range of reference ids.
Definition: header.hpp:118
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
#define SEQAN3_DEPRECATED_310
Deprecation message for SeqAn 3.1.0 release.
Definition: platform.hpp:203
#define SEQAN3_DEPRECATED_HEADER(message)
Deprecation message for deprecated header.
Definition: platform.hpp:213
Provides the seqan3::sam_file_header class.
Definition: header.hpp:28