1 #ifndef __gamgee_hts_memory__
2 #define __gamgee_hts_memory__
4 #include "htslib/sam.h"
5 #include "htslib/vcf.h"
34 void operator()(bam_hdr_t* p)
const { bam_hdr_destroy(p); }
41 void operator()(bcf_hdr_t* p)
const { bcf_hdr_destroy(p); }
void operator()(htsFile *p) const
Definition: hts_memory.h:18
shared_ptr< bcf_hdr_t > make_shared_variant_header(bcf_hdr_t *bcf_hdr_ptr)
wraps a pre-allocated bcf_hdr_t in a shared_ptr with correct deleter
Definition: hts_memory.cpp:38
bam_hdr_t * sam_header_deep_copy(bam_hdr_t *original)
creates a deep copy of an existing bam_hdr_t
Definition: hts_memory.cpp:54
a functor object to delete a bam1_t pointer
Definition: hts_memory.h:26
shared_ptr< bcf1_t > make_shared_variant(bcf1_t *bcf_ptr)
wraps a pre-allocated bcf1_t in a shared_ptr with correct deleter
Definition: hts_memory.cpp:30
bcf1_t * variant_deep_copy(bcf1_t *original)
creates a deep copy of an existing bcf1_t
Definition: hts_memory.cpp:62
bcf_hdr_t * variant_header_deep_copy(bcf_hdr_t *original)
creates a deep copy of an existing bcf_hdr_t
Definition: hts_memory.cpp:70
shared_ptr< bam_hdr_t > make_shared_sam_header(bam_hdr_t *sam_header_ptr)
wraps a pre-allocated bam_hdr_t in a shared_ptr with correct deleter
Definition: hts_memory.cpp:22
shared_ptr< bam1_t > make_shared_sam(bam1_t *sam_ptr)
wraps a pre-allocated bam1_t in a shared_ptr with correct deleter
Definition: hts_memory.cpp:14
a functor object to delete an htsFile pointer
Definition: hts_memory.h:17
a functor object to delete a bcf1_t pointer
Definition: hts_memory.h:47
void operator()(bcf1_t *p) const
Definition: hts_memory.h:48
void operator()(bam1_t *p) const
Definition: hts_memory.h:27
bam1_t * sam_deep_copy(bam1_t *original)
creates a deep copy of an existing bam1_t
Definition: hts_memory.cpp:46