25template<
typename Index_>
26using VectorPtr = std::shared_ptr<const std::vector<Index_> >;
58template <
typename Value_,
typename Index_>
95 virtual Index_
nrow()
const = 0;
104 virtual Index_
ncol()
const = 0;
121 bool sparse_proportion()
const {
174 virtual std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense(
bool row,
const Options& opt)
const = 0;
185 virtual std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense(
bool row, Index_ block_start, Index_ block_length,
const Options& opt)
const = 0;
205 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(
const Options& opt)
const {
206 return dense(
true, opt);
217 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(Index_ block_start, Index_ block_length,
const Options& opt)
const {
218 return dense(
true, block_start, block_length, opt);
230 return dense(
true, std::move(indices_ptr), opt);
240 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(std::vector<Index_> indices,
const Options& opt)
const {
241 return dense_row(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
251 return dense(
false, opt);
262 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(Index_ block_start, Index_ block_length,
const Options& opt)
const {
263 return dense(
false, block_start, block_length, opt);
275 return dense(
false, std::move(indices_ptr), opt);
285 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(std::vector<Index_> indices,
const Options& opt)
const {
286 return dense_column(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
295 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row()
const {
306 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(Index_ block_start, Index_ block_length)
const {
327 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(std::vector<Index_> indices)
const {
336 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column()
const {
347 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(Index_ block_start, Index_ block_length)
const {
368 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(std::vector<Index_> indices)
const {
383 virtual std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse(
bool row,
const Options& opt)
const = 0;
394 virtual std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse(
bool row, Index_ block_start, Index_ block_length,
const Options& opt)
const = 0;
426 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(Index_ block_start, Index_ block_length,
const Options& opt)
const {
427 return sparse(
true, block_start, block_length, opt);
439 return sparse(
true, std::move(indices_ptr), opt);
449 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(std::vector<Index_> indices,
const Options& opt)
const {
450 return sparse_row(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
460 return sparse(
false, opt);
471 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(Index_ block_start, Index_ block_length,
const Options& opt)
const {
472 return sparse(
false, block_start, block_length, opt);
484 return sparse(
false, std::move(indices_ptr), opt);
494 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(std::vector<Index_> indices,
const Options& opt)
const {
495 return sparse_column(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
504 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row()
const {
515 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(Index_ block_start, Index_ block_length)
const {
536 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(std::vector<Index_> indices)
const {
545 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column()
const {
556 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(Index_ block_start, Index_ block_length)
const {
577 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(std::vector<Index_> indices)
const {
593 virtual std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense(
bool row, std::shared_ptr<
const Oracle<Index_> > oracle,
const Options& opt)
const = 0;
605 virtual std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense(
bool row, std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length,
const Options& opt)
const = 0;
628 return dense(
true, std::move(oracle), opt);
640 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length,
const Options& opt)
const {
641 return dense(
true, std::move(oracle), block_start, block_length, opt);
654 return dense(
true, std::move(oracle), std::move(indices_ptr), opt);
665 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices,
const Options& opt)
const {
666 return dense_row(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
677 return dense(
false, std::move(oracle), opt);
689 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_column(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length,
const Options& opt)
const {
690 return dense(
false, std::move(oracle), block_start, block_length, opt);
703 return dense(
false, std::move(oracle), std::move(indices_ptr), opt);
715 return dense_column(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
737 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
760 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
782 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_column(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
805 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_column(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
821 virtual std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse(
bool row, std::shared_ptr<
const Oracle<Index_> > oracle,
const Options& opt)
const = 0;
833 virtual std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse(
bool row, std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length,
const Options& opt)
const = 0;
856 return sparse(
true, std::move(oracle), opt);
868 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length,
const Options& opt)
const {
869 return sparse(
true, std::move(oracle), block_start, block_length, opt);
881 return sparse(
true, std::move(oracle), std::move(indices_ptr), opt);
892 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices,
const Options& opt)
const {
893 return sparse_row(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
904 return sparse(
false, std::move(oracle), opt);
916 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_column(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length,
const Options& opt)
const {
917 return sparse(
false, std::move(oracle), block_start, block_length, opt);
930 return sparse(
false, std::move(oracle), std::move(indices_ptr), opt);
942 return sparse_column(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
964 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
986 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
1008 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_column(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
1030 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_column(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
Virtual class for a matrix.
Definition Matrix.hpp:59
virtual std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:770
virtual std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense(bool row, const Options &opt) const =0
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(const Options &opt) const
Definition Matrix.hpp:205
virtual Index_ ncol() const =0
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:689
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:903
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:737
virtual double prefer_rows_proportion() const =0
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(std::vector< Index_ > indices) const
Definition Matrix.hpp:536
Value_ value_type
Definition Matrix.hpp:77
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:749
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:317
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:782
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:794
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:217
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(std::vector< Index_ > indices) const
Definition Matrix.hpp:327
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:975
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:929
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:892
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:347
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(const Options &opt) const
Definition Matrix.hpp:250
virtual std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0
virtual std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:229
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row() const
Definition Matrix.hpp:295
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:494
virtual std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:556
virtual Index_ nrow() const =0
virtual std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:240
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:916
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:714
virtual std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
Definition Matrix.hpp:986
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
Definition Matrix.hpp:805
virtual std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0
virtual bool uses_oracle(bool row) const =0
virtual bool prefer_rows() const =0
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
Definition Matrix.hpp:760
Index_ index_type
Definition Matrix.hpp:82
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(std::vector< Index_ > indices) const
Definition Matrix.hpp:368
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:996
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:676
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:274
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:702
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:358
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:1019
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:1008
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:855
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:262
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:483
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:725
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column() const
Definition Matrix.hpp:336
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:627
virtual double is_sparse_proportion() const =0
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:306
virtual std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column() const
Definition Matrix.hpp:545
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:653
virtual std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0
virtual bool is_sparse() const =0
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:438
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:952
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:526
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:640
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:285
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:941
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:515
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
Definition Matrix.hpp:1030
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:471
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:665
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:426
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:567
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:964
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(std::vector< Index_ > indices) const
Definition Matrix.hpp:577
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(const Options &opt) const
Definition Matrix.hpp:459
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row() const
Definition Matrix.hpp:504
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:868
virtual std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0
virtual std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse(bool row, const Options &opt) const =0
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:880
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:449
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(const Options &opt) const
Definition Matrix.hpp:414
Predict future access requests on the target dimension.
Definition Oracle.hpp:29
Flexible representations for matrix data.
Definition Extractor.hpp:15
std::shared_ptr< const std::vector< Index_ > > VectorPtr
Definition Matrix.hpp:26
Options for accessing data from a Matrix instance.
Definition Options.hpp:30