Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef MOR_EPETRAMVSOURCE_HPP
00007 #define MOR_EPETRAMVSOURCE_HPP
00008
00009 #include "Epetra_Map.h"
00010 #include "Epetra_MultiVector.h"
00011
00012 #include "Teuchos_RCP.hpp"
00013
00014 namespace MOR {
00015
00016 class BasicEpetraMVSource {
00017 public:
00018 virtual int vectorCount() const = 0;
00019 virtual Epetra_Map vectorMap() const = 0;
00020
00021 virtual Teuchos::RCP<Epetra_MultiVector> multiVectorNew() = 0;
00022 virtual Teuchos::RCP<Epetra_MultiVector> truncatedMultiVectorNew(int vectorCountMax);
00023
00024 virtual ~BasicEpetraMVSource() {}
00025 };
00026
00027 class EpetraMVSource : public BasicEpetraMVSource {
00028 public:
00029 virtual const Epetra_MultiVector &filledMultiVector(Epetra_MultiVector &result) = 0;
00030 };
00031
00032 }
00033
00034 #endif