Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Coordinate-format sparse graph data reader. More...
#include <Teuchos_MatrixMarket_CoordDataReader.hpp>
Public Member Functions | |
CoordPatternReader (const Teuchos::RCP< Callback > &adder) | |
Constructor with "adder" argument. More... | |
CoordPatternReader () | |
No-argument constructor. More... | |
virtual | ~CoordPatternReader () |
Virtual destructor for safety and happy compilers. More... | |
Public Member Functions inherited from Teuchos::MatrixMarket::CoordDataReaderBase< Callback, Ordinal > | |
CoordDataReaderBase (const Teuchos::RCP< Callback > &adder) | |
Constructor with "adder" argument. More... | |
CoordDataReaderBase () | |
No-argument constructor. More... | |
virtual | ~CoordDataReaderBase () |
Virtual destructor for safety and happy compilers. More... | |
void | setAdder (const Teuchos::RCP< Callback > &adder) |
Set the Adder object. More... | |
virtual std::pair< bool, std::vector< size_t > > | read (std::istream &in, const size_t startingLineNumber, const bool tolerant, const bool debug=false) |
Read in all the data from the given input stream. More... | |
std::pair< Teuchos::Tuple < Ordinal, 3 >, bool > | readDimensions (std::istream &in, size_t &lineNumber, const bool tolerant=false) |
Read (numRows, numCols, numNonzeros). More... | |
Protected Member Functions | |
bool | readLine (const std::string &theLine, const size_t lineNumber, const bool tolerant) |
Read in the data from a single line of the input stream. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Teuchos::MatrixMarket::CoordDataReaderBase< Callback, Ordinal > | |
Teuchos::RCP< Callback > | adder_ |
Closure that knows how to add entries to the sparse graph or matrix. More... | |
Coordinate-format sparse graph data reader.
Use this class to read in sparse graph data and add it to the sparse graph using your Callback implementation (see the documentation of CoordDataReaderBase). CoordDataReaderBase is sufficiently general that we can extend it to read in a sparse graph. "Pattern" refers to the Matrix Market keyword "pattern" that indicates a sparse graph.
Callback | Same as the Callback template parameter of CoordDataReaderBase . The type of the callback (a.k.a. closure) for adding entries to the sparse graph. |
Ordinal | Same as the Ordinal template parameter of CoordDataReaderBase . The type of indices of the sparse graph. |
If you have an existing sparse graph implementation to which you want to add entries, you'll either have to make it implement Callback's two-argument operator(), or write your own Callback implementation that wraps the sparse graph.
Definition at line 571 of file Teuchos_MatrixMarket_CoordDataReader.hpp.
|
inline |
Constructor with "adder" argument.
This is the favored way to construct an instance of this type. Only use the no-argument constructor if you have a "chicken-and-egg" problem, where in order to create the Callback instance, you need the graph dimensions. This is the case if your Callback wraps Tpetra::CrsGraph, for example.
adder | [in/out] Closure (a.k.a. callback) whose operator() adds an entry to the sparse graph on each invocation. |
Definition at line 585 of file Teuchos_MatrixMarket_CoordDataReader.hpp.
|
inline |
No-argument constructor.
We offer this option in case the adder's constructor needs the graph dimensions, so that it's necessary to call readDimensions() first before constructing the adder. You should call setAdder() with a non-null argument before calling read() or readLine().
Definition at line 596 of file Teuchos_MatrixMarket_CoordDataReader.hpp.
|
inlinevirtual |
Virtual destructor for safety and happy compilers.
Definition at line 601 of file Teuchos_MatrixMarket_CoordDataReader.hpp.
|
inlineprotectedvirtual |
Read in the data from a single line of the input stream.
theLine | [in] The line read in from the input stream. |
adder | [in/out] The callback to invoke for adding an entry to the sparse matrix. |
lineNumber | [in] Current line number of the file. We use this for generating informative exception messages. |
tolerant | [in] Whether to parse tolerantly. |
Subclasses must implement this method in order to read one entry of the sparse graph or matrix. Implementations should use the callback (adder_
) to add the entry.
Implements Teuchos::MatrixMarket::CoordDataReaderBase< Callback, Ordinal >.
Definition at line 605 of file Teuchos_MatrixMarket_CoordDataReader.hpp.