bcf_hdr_subset() - creates a new copy of the header removing unwanted samples
@param n: number of samples to keep
@param samples: names of the samples to keep
@param imap: mapping from index in @samples to the sample index in the original file
Sample names not present in h0 are ignored. The number of unmatched samples can be checked
by comparing n and bcf_hdr_nsamples(out_hdr).
This function can be used to reorder samples.
See also bcf_subset() which subsets individual records.
The bcf_hdr_t struct returned by a successful call should be freed
via bcf_hdr_destroy() when it is no longer needed.
NOTE: char *const* samples really exmplifies what I hate about C pointers
My interpretation of this is it is equivalent to char **samples, but that the outer pointer is const
which in D would be const(char *)*samples. I don't know what it implies about constancy of *samples or samples.
bcf_hdr_subset() - creates a new copy of the header removing unwanted samples @param n: number of samples to keep @param samples: names of the samples to keep @param imap: mapping from index in @samples to the sample index in the original file
Sample names not present in h0 are ignored. The number of unmatched samples can be checked by comparing n and bcf_hdr_nsamples(out_hdr). This function can be used to reorder samples. See also bcf_subset() which subsets individual records. The bcf_hdr_t struct returned by a successful call should be freed via bcf_hdr_destroy() when it is no longer needed. NOTE: char *const* samples really exmplifies what I hate about C pointers My interpretation of this is it is equivalent to char **samples, but that the outer pointer is const which in D would be const(char *)*samples. I don't know what it implies about constancy of *samples or samples.