1#ifndef TATAMI_PSEUDO_ORACULAR_EXTRACTOR_HPP
2#define TATAMI_PSEUDO_ORACULAR_EXTRACTOR_HPP
23template<
typename Value_,
typename Index_>
30 my_oracle(std::move(oracle)), my_ext(std::move(ext)) {}
32 const Value_*
fetch(Index_, Value_* buffer) {
33 auto i = my_oracle->get(my_used++);
34 return my_ext->fetch(i, buffer);
38 std::shared_ptr<const Oracle<Index_> > my_oracle;
39 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> > my_ext;
52template<
typename Value_,
typename Index_>
59 my_oracle(std::move(oracle)), my_ext(std::move(ext)) {}
62 auto i = my_oracle->get(my_used++);
63 return my_ext->fetch(i, value_buffer, index_buffer);
67 std::shared_ptr<const Oracle<Index_> > my_oracle;
68 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> > my_ext;
Virtual class for a matrix of some numeric type.
Predict future access requests on the target dimension.
Definition Oracle.hpp:21
Flexible representations for matrix data.
Definition Extractor.hpp:15
A range of a sparse vector.
Definition SparseRange.hpp:32