75 std::shared_ptr<const tatami::Matrix<Value_, Index_> > my_matrix;
79 return my_matrix->nrow();
83 return my_matrix->ncol();
86 bool is_sparse()
const {
87 return my_matrix->is_sparse();
90 double is_sparse_proportion()
const {
91 return my_matrix->is_sparse_proportion();
94 bool prefer_rows()
const {
95 return my_matrix->prefer_rows();
98 double prefer_rows_proportion()
const {
99 return my_matrix->prefer_rows_proportion();
102 bool uses_oracle(
const bool row)
const {
103 return my_matrix->uses_oracle(row);
107 std::unique_ptr<tatami::MyopicDenseExtractor<Value_, Index_> > dense(
111 return my_matrix->dense(row, opt);
114 std::unique_ptr<tatami::MyopicDenseExtractor<Value_, Index_> > dense(
120 return my_matrix->dense(row, bs, bl, opt);
123 std::unique_ptr<tatami::MyopicDenseExtractor<Value_, Index_> > dense(
128 return my_matrix->dense(row, std::move(idx), opt);
132 std::unique_ptr<tatami::MyopicSparseExtractor<Value_, Index_> > sparse(
136 return std::make_unique<ReversedIndicesExtractor<false, Value_, Index_> >(my_matrix->sparse(row, opt), opt.
sparse_ordered_index);
139 std::unique_ptr<tatami::MyopicSparseExtractor<Value_, Index_> > sparse(
145 return std::make_unique<ReversedIndicesExtractor<false, Value_, Index_> >(my_matrix->sparse(row, bs, bl, opt), opt.
sparse_ordered_index);
148 std::unique_ptr<tatami::MyopicSparseExtractor<Value_, Index_> > sparse(
153 return std::make_unique<ReversedIndicesExtractor<false, Value_, Index_> >(my_matrix->sparse(row, std::move(idx), opt), opt.
sparse_ordered_index);
157 std::unique_ptr<tatami::OracularDenseExtractor<Value_, Index_> > dense(
162 return my_matrix->dense(row, std::move(ora), opt);
165 std::unique_ptr<tatami::OracularDenseExtractor<Value_, Index_> > dense(
172 return my_matrix->dense(row, std::move(ora), bs, bl, opt);
175 std::unique_ptr<tatami::OracularDenseExtractor<Value_, Index_> > dense(
181 return my_matrix->dense(row, std::move(ora), std::move(idx), opt);
185 std::unique_ptr<tatami::OracularSparseExtractor<Value_, Index_> > sparse(
190 return std::make_unique<ReversedIndicesExtractor<true, Value_, Index_> >(my_matrix->sparse(row, std::move(ora), opt), opt.
sparse_ordered_index);
193 std::unique_ptr<tatami::OracularSparseExtractor<Value_, Index_> > sparse(
200 return std::make_unique<ReversedIndicesExtractor<true, Value_, Index_> >(my_matrix->sparse(row, std::move(ora), bs, bl, opt), opt.
sparse_ordered_index);
203 std::unique_ptr<tatami::OracularSparseExtractor<Value_, Index_> > sparse(
209 return std::make_unique<ReversedIndicesExtractor<true, Value_, Index_> >(my_matrix->sparse(row, std::move(ora), std::move(idx), opt), opt.
sparse_ordered_index);