10#ifndef TPETRA_REINDEX_MULTIVECTOR_DEF_HPP
11#define TPETRA_REINDEX_MULTIVECTOR_DEF_HPP
27template <
class Scalar,
33 : ViewTransform<
MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> >()
34 , newRowMap_(newRowMap) {
38template <
class Scalar,
46template <
class Scalar,
50typename Reindex_MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>::NewType
52 this->origObj_ = origMultiVector;
53 assert(origMultiVector->getMap()->getLocalNumElements() == this->newRowMap_->getLocalNumElements());
54 assert(origMultiVector->isConstantStride() ==
true);
57 this->newObj_ = Teuchos::RCP<mv_t>(
new mv_t(*origMultiVector, Teuchos::DataAccess::View));
58 this->newObj_->replaceMap(newRowMap_);
69#define TPETRA_REINDEXMULTIVECTOR_INSTANT(SCALAR, LO, GO, NODE) \
70 template class Reindex_MultiVector<SCALAR, LO, GO, NODE>;
Declaration of the Tpetra::Reindex_MultiVector class.
A parallel distribution of indices over processes.
One or more distributed dense vectors.
NewType operator()(OriginalType const &origMultiVector)
Reindex_MultiVector(Teuchos::RCP< Map< LocalOrdinal, GlobalOrdinal, Node > const > newRowMap)
Namespace Tpetra contains the class and methods constituting the Tpetra library.