00001 #ifndef IFPACK_EPETRA_CRSGRAPH_H 00002 #define IFPACK_EPETRA_CRSGRAPH_H 00003 #include "Ifpack_ConfigDefs.h" 00004 #include "Ifpack_Graph.h" 00005 class Epetra_Comm; 00006 class Epetra_CrsGraph; 00007 00009 00017 class Ifpack_Graph_Epetra_CrsGraph : public Ifpack_Graph { 00018 00019 public: 00020 00022 Ifpack_Graph_Epetra_CrsGraph(const Epetra_CrsGraph* CrsGraph); 00023 00025 ~Ifpack_Graph_Epetra_CrsGraph(); 00026 00028 int NumMyRows() const 00029 { 00030 return(NumMyRows_); 00031 } 00032 00034 int NumMyCols() const 00035 { 00036 return(NumMyCols_); 00037 } 00038 00040 int NumGlobalRows() const 00041 { 00042 return(NumGlobalRows_); 00043 } 00044 00046 int NumGlobalCols() const 00047 { 00048 return(NumGlobalCols_); 00049 } 00050 00052 int MaxMyNumEntries() const 00053 { 00054 return(MaxNumIndices_); 00055 } 00056 00058 int NumMyNonzeros() const; 00059 00061 bool Filled() const; 00062 00064 int GRID(int) const; 00065 00067 int GCID(int) const; 00068 00070 int LRID(int) const; 00071 00073 int LCID(int) const; 00074 00076 int ExtractMyRowCopy(int GlobalRow, int LenOfIndices, 00077 int &NumIndices, int *Indices) const; 00078 00080 const Epetra_Comm& Comm() const; 00081 00083 virtual ostream& Print(std::ostream& os) const; 00084 00085 private: 00086 00088 int NumMyRows_; 00090 int NumMyCols_; 00092 int NumGlobalRows_; 00094 int NumGlobalCols_; 00096 int MaxNumIndices_; 00098 const Epetra_CrsGraph* CrsGraph_; 00099 }; 00100 00101 #endif
1.3.9.1