EpetraExt::XMLReader Class Reference

class XMLReader: A class for reading Epetra objects stored in XML files. More...

#include <EpetraExt_XMLReader.h>

List of all members.

Constructor and destructor.

 XMLReader (const Epetra_Comm &Comm, const string &FileName)
 ctor
 ~XMLReader ()
 dtor

Read operations

void Read (const string &Label, Epetra_Map *&Map)
 Reads the Epetra_Map stored with label Label.
void Read (const string &Label, Epetra_CrsGraph *&Graph)
 Reads the Epetra_CrsGraph stored with label Label.
void Read (const string &Label, Epetra_CrsMatrix *&Matrix)
 Reads the Epetra_CrsMatrix stored with label Label.
void Read (const string &Label, Epetra_MultiVector *&MultiVector)
 Reads the Epetra_MultiVector stored with label Label.
void Read (const string &Label, vector< string > &Content)
 Reads a vector of strings with label Label.
void Read (const string &Label, Teuchos::ParameterList &List)
 Reads the Teuchos::ParameterList stored with label Label.


Detailed Description

class XMLReader: A class for reading Epetra objects stored in XML files.

Class EpetraExt::XMLReader allows to read several Trilinos objects stored in XML files. The XML data format is specified in the documentation of class EpetraExt::XMLWriter, which also contains a MATLAB script. A typical usage of this class is reported in file epetraext/example/inout/XML_IO.cpp.

This class requires Teuchos to be configured with the option --enable-teuchos-expat.

Reading objects from a file requires the following steps. First, we define an XMLReader object,

EpetraExt::XMLReader XMLReader(Comm, "data.xml");
Then, we define a set of pointers,
Epetra_Map* MyMap;
Epetra_CrsMatrix* MyMatrix;
Epetra_MultiVector* MyLHS;
Epetra_MultiVector* MyRHS;
Teuchos::ParameterList MyParameters;
vector<string> Author;
vector<string> Date;
vector<string> MyContent;
Reading simply goes as follows:
XMLReader.Read("Author", Author);
XMLReader.Read("Date", Date);
XMLReader.Read("MyMap", MyMap);
XMLReader.Read("MyMatrix", MyMatrix);
XMLReader.Read("MyLHS", MyLHS);
XMLReader.Read("MyRHS", MyRHS);
XMLReader.Read("MyContent", MyContent);
XMLReader.Read("MyParameters", MyParameters);
In distributed environments, Epetra_MultiVector, Epetra_CrsGraph and Epetra_CrsMatrix objects have a linear distribution. Epetra_Map objects can be read only when using the same number of processors used for writing.

Warning:
All the created objects must be deleted from the user using delete.
Author:
Marzio Sala, D-INFK/ETHZ
Date:
Last updated on 10-May-06.

Definition at line 68 of file EpetraExt_XMLReader.h.


Constructor & Destructor Documentation

EpetraExt::XMLReader::XMLReader const Epetra_Comm Comm,
const string &  FileName
 

ctor

Definition at line 48 of file EpetraExt_XMLReader.cpp.

EpetraExt::XMLReader::~XMLReader  )  [inline]
 

dtor

Definition at line 76 of file EpetraExt_XMLReader.h.


Member Function Documentation

void EpetraExt::XMLReader::Read const string &  Label,
Epetra_Map *&  Map
 

Reads the Epetra_Map stored with label Label.

Definition at line 221 of file EpetraExt_XMLReader.cpp.

void EpetraExt::XMLReader::Read const string &  Label,
Epetra_CrsGraph *&  Graph
 

Reads the Epetra_CrsGraph stored with label Label.

Definition at line 64 of file EpetraExt_XMLReader.cpp.

void EpetraExt::XMLReader::Read const string &  Label,
Epetra_CrsMatrix *&  Matrix
 

Reads the Epetra_CrsMatrix stored with label Label.

Definition at line 112 of file EpetraExt_XMLReader.cpp.

void EpetraExt::XMLReader::Read const string &  Label,
Epetra_MultiVector *&  MultiVector
 

Reads the Epetra_MultiVector stored with label Label.

Definition at line 163 of file EpetraExt_XMLReader.cpp.

void EpetraExt::XMLReader::Read const string &  Label,
vector< string > &  Content
 

Reads a vector of strings with label Label.

Definition at line 288 of file EpetraExt_XMLReader.cpp.

void EpetraExt::XMLReader::Read const string &  Label,
Teuchos::ParameterList &  List
 

Reads the Teuchos::ParameterList stored with label Label.

Definition at line 315 of file EpetraExt_XMLReader.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:31:47 2008 for EpetraExt by doxygen 1.3.9.1