11 using auto_const_t =
typename Base::template auto_const_t<U>;
14 static_assert(!std::is_const_v<Ty>,
"Ty must be non-const");
19 using BlockMatrix = Eigen::Matrix<Ty, N, N>;
26 auto_const_t<int>* m_block_row_offsets =
nullptr;
27 auto_const_t<int>* m_block_col_indices =
nullptr;
28 auto_const_t<BlockMatrix>* m_block_values =
nullptr;
31 mutable cusparseMatDescr_t m_legacy_descr =
nullptr;
32 mutable cusparseSpMatDescr_t m_descr =
nullptr;
40 auto_const_t<int>* block_row_offsets,
41 auto_const_t<int>* block_col_indices,
42 auto_const_t<BlockMatrix>* block_values,
44 cusparseSpMatDescr_t descr,
45 cusparseMatDescr_t legacy_descr,
49 , m_block_row_offsets(block_row_offsets)
50 , m_block_col_indices(block_col_indices)
51 , m_block_values(block_values)
52 , m_non_zeros(non_zeros)
54 , m_legacy_descr(legacy_descr)
75 operator ConstView()
const {
return as_const(); }
78 auto_const_t<BlockMatrix>* block_values() {
return m_block_values; }
79 auto_const_t<int>* block_row_offsets() {
return m_block_row_offsets; }
80 auto_const_t<int>* block_col_indices() {
return m_block_col_indices; }
83 auto block_values()
const {
return m_block_values; }
84 auto block_row_offsets()
const {
return m_block_row_offsets; }
85 auto block_col_indices()
const {
return m_block_col_indices; }
87 auto block_rows()
const {
return m_row; }
88 auto block_cols()
const {
return m_col; }
89 auto non_zero_blocks()
const {
return m_non_zeros; }
91 auto legacy_descr()
const {
return m_legacy_descr; }
92 auto descr()
const {
return m_descr; }
93 auto is_trans()
const {
return m_trans; }