namespace EpetraWrappers
{
/**
- * This class defines type aliases that are used in other classes
+ * This class defines type aliases that are used in vector classes
* within the EpetraWrappers namespace.
*/
class VectorTraits
{
public:
using value_type = double;
- using size_type = types::global_dof_index;
+ using size_type = dealii::types::global_dof_index;
};
/**
(void)dst;
}
+
namespace LinearOperatorImplementation
{
/**
*/
using Domain = VectorType;
+ /**
+ * Index of the referenced element of the vector.
+ */
+ using size_type = dealii::types::global_dof_index;
+
/**
* @name Constructors / destructor
*/
*/
namespace TpetraWrappers
{
+ /**
+ * This class defines type aliases that are used in vector classes
+ * within the TpetraWrappers namespace.
+ */
+ class VectorTraits
+ {
+ public:
+ using size_type = dealii::types::global_dof_index;
+ };
+
/**
* @cond internal
*/
/**
* Declare type for container size.
*/
- using size_type = dealii::types::global_dof_index;
+ using size_type = VectorTraits::size_type;
/**
* This class implements a wrapper for accessing the Trilinos Tpetra
# endif
using value_type = Number;
using real_type = typename numbers::NumberTraits<Number>::real_type;
- using size_type = types::global_dof_index;
+ using size_type = VectorTraits::size_type;
using reference = internal::VectorReference<Number, MemorySpace>;
using const_reference =
const internal::VectorReference<Number, MemorySpace>;
{
class SparseMatrix;
+ /**
+ * This class defines type aliases that are used in vector classes
+ * within the TrilinosWrappers namespace.
+ */
+ class VectorTraits
+ {
+ public:
+ using size_type = dealii::types::global_dof_index;
+ };
+
/**
* @cond internal
*/
*/
namespace internal
{
- /**
- * Declare type for container size.
- */
- using size_type = dealii::types::global_dof_index;
-
/**
* This class implements a wrapper for accessing the Trilinos vector in
* the same way as we access deal.II objects: it is initialized with a
class VectorReference
{
private:
+ using size_type = VectorTraits::size_type;
+
/**
* Constructor. It is made private so as to only allow the actual vector
* class to create it.
*/
using value_type = TrilinosScalar;
using real_type = TrilinosScalar;
- using size_type = dealii::types::global_dof_index;
+ using size_type = VectorTraits::size_type;
using iterator = value_type *;
using const_iterator = const value_type *;
using reference = internal::VectorReference;
namespace internals
{
- using size_type = dealii::types::global_dof_index;
-
void
perform_mmult(const SparseMatrix &inputleft,
const SparseMatrix &inputright,
{
namespace LinearOperatorImplementation
{
+ using size_type = VectorTraits::size_type;
+
TrilinosPayload::TrilinosPayload()
: use_transpose(false)
, communicator(MPI_COMM_SELF)