Gamgee
You miserable little maggot. I'll stove your head in!
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
sam_header.h
Go to the documentation of this file.
1 #ifndef __gamgee__sam_header__
2 #define __gamgee__sam_header__
3 
4 #include "htslib/sam.h"
5 
6 #include <memory>
7 
8 namespace gamgee {
9 
13 class SamHeader {
14  public:
15  explicit SamHeader() = default;
16  explicit SamHeader(const std::shared_ptr<bam_hdr_t>& header);
17  SamHeader(const SamHeader& other);
18  SamHeader(SamHeader&& other) noexcept;
19  SamHeader& operator=(const SamHeader& other);
20  SamHeader& operator=(SamHeader&& other) noexcept;
21 
22  private:
23  std::shared_ptr<bam_hdr_t> m_header;
24 
25  friend class SamWriter;
26 };
27 
28 }
29 #endif
Utility class to hold the header of a sam file.
Definition: sam_header.h:13
utility class to write out a SAM/BAM/CRAM file to any stream
Definition: sam_writer.h:16
SamHeader & operator=(const SamHeader &other)
deep copy assignment of a SamHeader. Shared pointers maintain state to all other associated objects c...
Definition: sam_header.cpp:39
SamHeader()=default
initializes a null SamHeader