• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

MOR_MultiVectorInputFile.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2012 Sandia Corporation               //
00003 //    This Software is released under the BSD license detailed     //
00004 //    in the file "license.txt" in the top-level Albany directory  //
00005 //*****************************************************************//
00006 #ifndef MOR_MULTIVECTORINPUTFILE_HPP
00007 #define MOR_MULTIVECTORINPUTFILE_HPP
00008 
00009 #include "Epetra_MultiVector.h"
00010 #include "Epetra_Map.h"
00011 
00012 #include "Teuchos_RCP.hpp"
00013 
00014 #include <string>
00015 
00016 namespace MOR {
00017 
00018 class MultiVectorInputFile {
00019 public:
00020   std::string path() const { return path_; }
00021 
00022   virtual int readVectorCount(const Epetra_Comm &comm) = 0;
00023   virtual Teuchos::RCP<Epetra_MultiVector> read(const Epetra_Map &map) = 0;
00024 
00025   virtual ~MultiVectorInputFile();
00026 
00027 protected:
00028   explicit MultiVectorInputFile(const std::string &path);
00029 
00030 private:
00031   std::string path_;
00032 
00033   // Disallow copy and assignment
00034   MultiVectorInputFile(const MultiVectorInputFile &);
00035   MultiVectorInputFile &operator=(const MultiVectorInputFile &);
00036 };
00037 
00038 inline
00039 MultiVectorInputFile::MultiVectorInputFile(const std::string &path) :
00040   path_(path)
00041 {
00042   // Nothing to do
00043 }
00044 
00045 inline
00046 MultiVectorInputFile::~MultiVectorInputFile()
00047 {
00048   // Nothing to do
00049 }
00050 
00051 } // namespace MOR
00052 
00053 #endif /* MOR_MULTIVECTORINPUTFILE_HPP */

Generated on Wed Mar 26 2014 18:36:40 for Albany: a Trilinos-based PDE code by  doxygen 1.7.1