26 class ALIEN_EXPORT ProfiledMatrixBuilderT
29 using ResetFlag = ProfiledMatrixOptions::ResetFlag;
34 typedef ValueT ValueType ;
46 ProfiledMatrixBuilderT(
IMatrix& matrix, ResetFlag reset_values);
48 virtual ~ProfiledMatrixBuilderT();
50 ProfiledMatrixBuilderT(
const ProfiledMatrixBuilderT&) =
delete;
51 ProfiledMatrixBuilderT(ProfiledMatrixBuilderT&&) =
delete;
52 ProfiledMatrixBuilderT& operator=(
const ProfiledMatrixBuilderT&) =
delete;
53 ProfiledMatrixBuilderT& operator=(ProfiledMatrixBuilderT&&) =
delete;
56 inline MatrixElement operator()(
const Integer iIndex,
const Integer jIndex)
58 return MatrixElement(iIndex, jIndex, *
this);
70 bool isLocal(Integer jIndex)
const
72 return (jIndex >= m_local_offset) && (jIndex < m_next_offset);
81 std::unique_ptr<Impl> m_impl;
83 Integer m_local_offset = 0;
84 Integer m_local_size = 0;
85 Integer m_next_offset= 0;
86 ConstArrayView<Integer> m_row_starts;
87 ConstArrayView<Integer> m_cols;
88 ConstArrayView<Integer> m_local_row_size;
89 ArrayView<ValueType> m_values;
90 bool m_finalized =
false;