FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
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
>
13
#include <
snl_fei_RaggedTable_specialize.hpp
>
14
15
#include <map>
16
17
namespace
fei
{
18
20
class
Graph
{
21
public
:
22
24
virtual
~Graph
(){}
25
27
typedef
snl_fei::RaggedTable<snl_fei::MapContig<fei::ctg_set<int>
*>,
fei::ctg_set<int>
>
28
table_type
;
29
31
typedef
fei::ctg_set<int>
table_row_type
;
32
34
typedef
snl_fei::RaggedTable<std::map<int,fei::ctg_set<int>
*>,
fei::ctg_set<int>
>
35
remote_table_type
;
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
60
virtual
int
writeLocalGraph
(
FEI_OSTREAM
& os,
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
fei::Graph
Definition
fei_Graph.hpp:20
fei::Graph::remote_table_type
snl_fei::RaggedTable< std::map< int, fei::ctg_set< int > * >, fei::ctg_set< int > > remote_table_type
Definition
fei_Graph.hpp:35
fei::Graph::~Graph
virtual ~Graph()
Definition
fei_Graph.hpp:24
fei::Graph::getLocalGraph
virtual table_type * getLocalGraph()=0
fei::Graph::addIndices
virtual int addIndices(int row, int len, const int *indices)=0
fei::Graph::table_row_type
fei::ctg_set< int > table_row_type
Definition
fei_Graph.hpp:31
fei::Graph::gatherFromOverlap
virtual int gatherFromOverlap()=0
fei::Graph::writeLocalGraph
virtual int writeLocalGraph(FEI_OSTREAM &os, bool debug=false, bool prefixLinesWithPoundSign=true)=0
fei::Graph::addSymmetricIndices
virtual int addSymmetricIndices(int numIndices, int *indices, bool diagonal=false)=0
fei::Graph::table_type
snl_fei::RaggedTable< snl_fei::MapContig< fei::ctg_set< int > * >, fei::ctg_set< int > > table_type
Definition
fei_Graph.hpp:28
fei::Graph::getRemoteGraph
virtual std::vector< remote_table_type * > & getRemoteGraph()=0
fei::Graph::writeRemoteGraph
virtual int writeRemoteGraph(FEI_OSTREAM &os)=0
fei::ctg_set
Definition
fei_ctg_set.hpp:39
snl_fei::RaggedTable
Definition
snl_fei_RaggedTable.hpp:29
fei_iosfwd.hpp
FEI_OSTREAM
#define FEI_OSTREAM
Definition
fei_iosfwd.hpp:24
fei
Definition
fei_ArrayUtils.hpp:16
snl_fei_RaggedTable_specialize.hpp
Generated by
1.17.0