31 virtual Status contigs(std::vector<std::pair<std::string,size_t> >& ans)
const = 0;
39 std::shared_ptr<
const std::set<std::string> >& ans)
const = 0;
63 std::unique_ptr<body> body_;
69 static Status Start(
Metadata& inner, std::unique_ptr<MetadataCache>& ptr);
72 Status contigs(std::vector<std::pair<std::string,size_t> >& ans)
const override;
74 std::shared_ptr<
const std::set<std::string> >& ans)
const override;
79 const std::vector<std::pair<std::string,size_t> >& contigs()
const;
80 Status sampleset_datasets(
const std::string& sampleset,
81 std::shared_ptr<
const std::set<std::string> >& samples,
82 std::shared_ptr<
const std::set<std::string>>& datasets)
const;
92 virtual Status next(std::string& dataset, std::shared_ptr<const bcf_hdr_t>& hdr,
93 std::vector<std::shared_ptr<bcf1_t>>& records) = 0;
104 std::shared_ptr<const bcf_hdr_t>& hdr)
const = 0;
115 std::vector<std::shared_ptr<bcf1_t> >& records) = 0;
120 std::shared_ptr<const bcf_hdr_t>& hdr,
121 std::vector<std::shared_ptr<bcf1_t> >& records);
134 std::shared_ptr<
const std::set<std::string>>& samples,
135 std::shared_ptr<
const std::set<std::string>>& datasets,
136 std::vector<std::unique_ptr<RangeBCFIterator>>& iterators);
virtual Status sampleset_range(const MetadataCache &metadata, const std::string &sampleset, const range &pos, std::shared_ptr< const std::set< std::string >> &samples, std::shared_ptr< const std::set< std::string >> &datasets, std::vector< std::unique_ptr< RangeBCFIterator >> &iterators)
Definition: data.cc:189
Genomic range (chromosome id, begin coordinate, end coordinate)
Definition: types.h:99
virtual Status dataset_range_and_header(const std::string &dataset, const range &pos, std::shared_ptr< const bcf_hdr_t > &hdr, std::vector< std::shared_ptr< bcf1_t > > &records)
Definition: data.cc:115
Function status (return) codes.
Definition: types.h:30
virtual Status dataset_range(const std::string &dataset, const bcf_hdr_t *hdr, const range &pos, std::vector< std::shared_ptr< bcf1_t > > &records)=0
virtual Status next(std::string &dataset, std::shared_ptr< const bcf_hdr_t > &hdr, std::vector< std::shared_ptr< bcf1_t >> &records)=0
virtual Status dataset_header(const std::string &dataset, std::shared_ptr< const bcf_hdr_t > &hdr) const =0
Retrieve the BCF header for a data set.
Iterate over BCF records within some range.
Definition: data.h:86