The TrilinosWrappers::VectorBase class declared its own version of
ExcGhostsPresent that hid the class we already declare globally in
exceptions.h, and thereby led to a situation where we output less
information than is available. This also led to some confusion as
evidenced by a recent mail on the mailing list.
Fix this by removing the extraneous class. Also augment the error
message of the existing class.
"You are trying an operation on a vector that is only "
"allowed if the vector has no ghost elements, but the "
"vector you are operating on does have ghost elements. "
+ "Specifically, vectors with ghost elements are read-only "
+ "and cannot appear in operations that write into these "
+ "vectors."
+ "\n\n"
"See the glossary entry on 'Ghosted vectors' for more "
"information.");
const internal::bool2type<false> /*is_block_vector*/)
{
Assert(!vec.has_ghost_elements(),
- TrilinosWrappers::VectorBase::ExcGhostsPresent());
+ ExcGhostsPresent());
#ifdef DEAL_II_WITH_MPI
const Epetra_MpiComm *mpi_comm
= dynamic_cast<const Epetra_MpiComm *>(&vec.trilinos_vector().Comm());
const MPI_Comm &get_mpi_communicator () const;
//@}
- /**
- * Exception
- */
- DeclException0 (ExcGhostsPresent);
-
/**
* Exception
*/
In the beginning the Universe was created. This has made a lot of
people very angry and has been widely regarded as a bad move.
Douglas Adams