11#ifndef AMESOS2_VECTORTRAITS_HPP
12#define AMESOS2_VECTORTRAITS_HPP
16#include <Tpetra_MultiVector.hpp>
22 template <
class Vector>
23 struct VectorTraits {};
29 template <
typename Scalar,
30 typename LocalOrdinal,
31 typename GlobalOrdinal,
34 Tpetra::MultiVector<Scalar,
38 typedef Scalar scalar_t;
39 typedef LocalOrdinal local_ordinal_t;
40 typedef GlobalOrdinal global_ordinal_t;
43 typedef Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> multivector_type;
44 typedef typename multivector_type::impl_scalar_type ptr_scalar_type;
47 template <
typename Scalar,
48 typename ExecutionSpace >
50 Kokkos::View<Scalar**,Kokkos::LayoutLeft,ExecutionSpace> > {
51 typedef Scalar scalar_t;
52 typedef int local_ordinal_t;
53 typedef Tpetra::Map<>::global_ordinal_type global_ordinal_t;
54 typedef Tpetra::Map<>::node_type node_t;
56 typedef Kokkos::View<Scalar**,Kokkos::LayoutLeft,ExecutionSpace> multivector_type;
57 typedef Scalar ptr_scalar_type;