FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei_Graph.hpp
Go to the documentation of this file.
1/*--------------------------------------------------------------------*/
2/* Copyright 2005 Sandia Corporation. */
3/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4/* non-exclusive license for use of this work by or on behalf */
5/* of the U.S. Government. Export of this program may require */
6/* a license from the United States Government. */
7/*--------------------------------------------------------------------*/
8
9#ifndef _fei_Graph_hpp_
10#define _fei_Graph_hpp_
11
12#include <fei_iosfwd.hpp>
14
15#include <map>
16
17namespace fei {
18
20 class Graph {
21 public:
22
24 virtual ~Graph(){}
25
29
32
36
38 virtual int addIndices(int row,
39 int len,
40 const int* indices) = 0;
41
45 virtual int addSymmetricIndices(int numIndices,
46 int* indices,
47 bool diagonal=false) = 0;
48
50 virtual int gatherFromOverlap() = 0;
51
54 virtual table_type* getLocalGraph() = 0;
55
57 virtual std::vector<remote_table_type*>& getRemoteGraph() = 0;
58
61 bool debug=false,
62 bool prefixLinesWithPoundSign=true) = 0;
63
65 virtual int writeRemoteGraph(FEI_OSTREAM& os) = 0;
66
67 };//class Graph
68
69} //namespace fei
70
71#endif // _fei_Graph_hpp_
72
snl_fei::RaggedTable< std::map< int, fei::ctg_set< int > * >, fei::ctg_set< int > > remote_table_type
Definition: fei_Graph.hpp:35
virtual ~Graph()
Definition: fei_Graph.hpp:24
virtual table_type * getLocalGraph()=0
virtual int addIndices(int row, int len, const int *indices)=0
fei::ctg_set< int > table_row_type
Definition: fei_Graph.hpp:31
virtual int gatherFromOverlap()=0
virtual int writeLocalGraph(FEI_OSTREAM &os, bool debug=false, bool prefixLinesWithPoundSign=true)=0
virtual int addSymmetricIndices(int numIndices, int *indices, bool diagonal=false)=0
snl_fei::RaggedTable< snl_fei::MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > > table_type
Definition: fei_Graph.hpp:28
virtual std::vector< remote_table_type * > & getRemoteGraph()=0
virtual int writeRemoteGraph(FEI_OSTREAM &os)=0
#define FEI_OSTREAM
Definition: fei_iosfwd.hpp:24