message: Adding read-only access to BlockOperator member data
diff: @@ -76,6 +76,9 @@ public:
  //! Return a reference to block i,j
  Operator & GetBlock(int i, int j)
  { MFEM_VERIFY(op(i,j), ""); return *op(i,j); }
  + //! Read only access to the reference to block i,j
  + const Operator & GetBlock(int i, int j) const
  + { MFEM_VERIFY(op(i,j), ""); return *op(i,j); }
  //! Return the coefficient for block i,j
  double GetBlockCoef(int i, int j) const
  { MFEM_VERIFY(op(i,j), ""); return coef(i,j); }
  @@ -85,8 +88,12 @@ public:
  //! Return the row offsets for block starts
  Array<int> & RowOffsets() { return row_offsets; }
  + //! Read only access to the row offsets for block starts
  + const Array<int> & RowOffsets() const { return row_offsets; }
  //! Return the columns offsets for block starts
  Array<int> & ColOffsets() { return col_offsets; }
  + //! Read only access to the columns offsets for block starts
  + const Array<int> & ColOffsets() const { return col_offsets; }
  /// Operator application
  virtual void Mult (const Vector & x, Vector & y) const;
  @@ -153,9 +160,16 @@ public:
  Operator & GetDiagonalBlock(int iblock)
  { MFEM_VERIFY(op[iblock], ""); return *op[iblock]; }
  + //! Read only access to the reference to block i,i.
  + const Operator & GetDiagonalBlock(int iblock) const
  + { MFEM_VERIFY(op[iblock], ""); return *op[iblock]; }
  +
  //! Return the offsets for block starts
  Array<int> & Offsets() { return offsets; }
  + //! Read only access to the offsets for block starts
  + const Array<int> & Offsets() const { return offsets; }
  +
  /// Operator application
  virtual void Mult (const Vector & x, Vector & y) const;
  