|
EpetraExt Development
|
00001 #ifndef EPETRAEXT_XMLREADER_H 00002 #define EPETRAEXT_XMLREADER_H 00003 00004 #include "EpetraExt_ConfigDefs.h" 00005 #include "Teuchos_RefCountPtr.hpp" 00006 #include <fstream> 00007 00008 class Epetra_Map; 00009 class Epetra_Comm; 00010 class Epetra_MultiVector; 00011 class Epetra_CrsGraph; 00012 class Epetra_CrsMatrix; 00013 namespace Teuchos { 00014 class FileXML; 00015 class XMLObject; 00016 class ParameterList; 00017 } 00018 00019 namespace EpetraExt 00020 { 00068 class XMLReader 00069 { 00070 public: 00071 // @{ \name Constructor and destructor. 00073 XMLReader(const Epetra_Comm& Comm, const std::string& FileName); 00074 00076 ~XMLReader() {} 00077 00078 // @} 00079 // @{ \name Read operations 00080 00082 void Read(const std::string& Label, Epetra_Map*& Map); 00083 00085 void Read(const std::string& Label, Epetra_CrsGraph*& Graph); 00086 00088 void Read(const std::string& Label, Epetra_CrsMatrix*& Matrix); 00089 00091 void Read(const std::string& Label, Epetra_MultiVector*& MultiVector); 00092 00094 void Read(const std::string& Label, std::vector<std::string>& Content); 00095 00097 void Read(const std::string& Label, Teuchos::ParameterList& List); 00098 00099 // @} 00100 private: 00102 bool IsOpen_; 00104 const Epetra_Comm& Comm_; 00106 Teuchos::RefCountPtr<Teuchos::XMLObject> fileXML_; 00107 }; 00108 00109 } // namespace EpetraExt 00110 00111 #endif
1.7.4