25template<
typename Index_>
26using VectorPtr = std::shared_ptr<const std::vector<Index_> >;
58template <
typename Value_,
typename Index_ =
int>
91 virtual Index_
nrow()
const = 0;
96 virtual Index_
ncol()
const = 0;
113 bool sparse_proportion()
const {
166 virtual std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense(
bool row,
const Options& opt)
const = 0;
177 virtual std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense(
bool row, Index_ block_start, Index_ block_length,
const Options& opt)
const = 0;
197 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(
const Options& opt)
const {
198 return dense(
true, opt);
209 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(Index_ block_start, Index_ block_length,
const Options& opt)
const {
210 return dense(
true, block_start, block_length, opt);
222 return dense(
true, std::move(indices_ptr), opt);
232 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(std::vector<Index_> indices,
const Options& opt)
const {
233 return dense_row(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
243 return dense(
false, opt);
254 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(Index_ block_start, Index_ block_length,
const Options& opt)
const {
255 return dense(
false, block_start, block_length, opt);
267 return dense(
false, std::move(indices_ptr), opt);
277 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(std::vector<Index_> indices,
const Options& opt)
const {
278 return dense_column(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
287 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row()
const {
298 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(Index_ block_start, Index_ block_length)
const {
319 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_row(std::vector<Index_> indices)
const {
328 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column()
const {
339 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(Index_ block_start, Index_ block_length)
const {
360 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> >
dense_column(std::vector<Index_> indices)
const {
375 virtual std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse(
bool row,
const Options& opt)
const = 0;
386 virtual std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse(
bool row, Index_ block_start, Index_ block_length,
const Options& opt)
const = 0;
418 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(Index_ block_start, Index_ block_length,
const Options& opt)
const {
419 return sparse(
true, block_start, block_length, opt);
431 return sparse(
true, std::move(indices_ptr), opt);
441 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(std::vector<Index_> indices,
const Options& opt)
const {
442 return sparse_row(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
452 return sparse(
false, opt);
463 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(Index_ block_start, Index_ block_length,
const Options& opt)
const {
464 return sparse(
false, block_start, block_length, opt);
476 return sparse(
false, std::move(indices_ptr), opt);
486 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(std::vector<Index_> indices,
const Options& opt)
const {
487 return sparse_column(std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
496 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row()
const {
507 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(Index_ block_start, Index_ block_length)
const {
528 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_row(std::vector<Index_> indices)
const {
537 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column()
const {
548 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(Index_ block_start, Index_ block_length)
const {
569 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> >
sparse_column(std::vector<Index_> indices)
const {
585 virtual std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense(
bool row, std::shared_ptr<
const Oracle<Index_> > oracle,
const Options& opt)
const = 0;
597 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;
620 return dense(
true, std::move(oracle), opt);
632 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 {
633 return dense(
true, std::move(oracle), block_start, block_length, opt);
646 return dense(
true, std::move(oracle), std::move(indices_ptr), opt);
657 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices,
const Options& opt)
const {
658 return dense_row(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
669 return dense(
false, std::move(oracle), opt);
681 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 {
682 return dense(
false, std::move(oracle), block_start, block_length, opt);
695 return dense(
false, std::move(oracle), std::move(indices_ptr), opt);
707 return dense_column(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
729 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
752 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
774 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_column(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
797 std::unique_ptr<OracularDenseExtractor<Value_, Index_> >
dense_column(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
813 virtual std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse(
bool row, std::shared_ptr<
const Oracle<Index_> > oracle,
const Options& opt)
const = 0;
825 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;
848 return sparse(
true, std::move(oracle), opt);
860 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 {
861 return sparse(
true, std::move(oracle), block_start, block_length, opt);
873 return sparse(
true, std::move(oracle), std::move(indices_ptr), opt);
884 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices,
const Options& opt)
const {
885 return sparse_row(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
896 return sparse(
false, std::move(oracle), opt);
908 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 {
909 return sparse(
false, std::move(oracle), block_start, block_length, opt);
922 return sparse(
false, std::move(oracle), std::move(indices_ptr), opt);
934 return sparse_column(std::move(oracle), std::make_shared<std::vector<Index_> >(std::move(indices)), opt);
956 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
978 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_row(std::shared_ptr<
const Oracle<Index_> > oracle, std::vector<Index_> indices)
const {
1000 std::unique_ptr<OracularSparseExtractor<Value_, Index_> >
sparse_column(std::shared_ptr<
const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length)
const {
1022 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:762
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:197
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:681
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:895
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:729
virtual double prefer_rows_proportion() const =0
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(std::vector< Index_ > indices) const
Definition Matrix.hpp:528
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:741
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:309
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:774
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:786
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:209
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row(std::vector< Index_ > indices) const
Definition Matrix.hpp:319
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:967
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:921
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:884
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:339
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(const Options &opt) const
Definition Matrix.hpp:242
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:221
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row() const
Definition Matrix.hpp:287
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:486
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:548
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:232
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:908
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:706
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:978
Value_ value_type
Definition Matrix.hpp:77
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
Definition Matrix.hpp:797
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:752
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(std::vector< Index_ > indices) const
Definition Matrix.hpp:360
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:988
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:668
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:266
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:694
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:350
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:1011
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:1000
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:847
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:254
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition Matrix.hpp:475
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:717
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column() const
Definition Matrix.hpp:328
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition Matrix.hpp:619
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:298
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:537
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:645
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:430
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle) const
Definition Matrix.hpp:944
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:518
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:632
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:277
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:933
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(Index_ block_start, Index_ block_length) const
Definition Matrix.hpp:507
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
Definition Matrix.hpp:1022
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:463
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:657
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(Index_ block_start, Index_ block_length, const Options &opt) const
Definition Matrix.hpp:418
Index_ index_type
Definition Matrix.hpp:82
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(VectorPtr< Index_ > indices_ptr) const
Definition Matrix.hpp:559
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:956
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(std::vector< Index_ > indices) const
Definition Matrix.hpp:569
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column(const Options &opt) const
Definition Matrix.hpp:451
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row() const
Definition Matrix.hpp:496
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:860
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:872
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(std::vector< Index_ > indices, const Options &opt) const
Definition Matrix.hpp:441
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row(const Options &opt) const
Definition Matrix.hpp:406
Predict future access requests on the target dimension.
Definition Oracle.hpp:21
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