FEI Version of the Day
Public Types | Public Member Functions
fei::Graph Class Reference

#include <fei_Graph.hpp>

Inheritance diagram for fei::Graph:
Inheritance graph
[legend]

List of all members.

Public Types

typedef snl_fei::RaggedTable
< snl_fei::MapContig
< fei::ctg_set< int >
* >, fei::ctg_set< int > > 
table_type
typedef fei::ctg_set< int > table_row_type
typedef snl_fei::RaggedTable
< std::map< int, fei::ctg_set
< int > * >, fei::ctg_set< int > > 
remote_table_type

Public Member Functions

virtual ~Graph ()
virtual int addIndices (int row, int len, const int *indices)=0
virtual int addSymmetricIndices (int numIndices, int *indices, bool diagonal=false)=0
virtual int gatherFromOverlap ()=0
virtual table_typegetLocalGraph ()=0
virtual std::vector
< remote_table_type * > & 
getRemoteGraph ()=0
virtual int writeLocalGraph (FEI_OSTREAM &os, bool debug=false, bool prefixLinesWithPoundSign=true)=0
virtual int writeRemoteGraph (FEI_OSTREAM &os)=0

Detailed Description

Basic algebraic matrix-graph representation.

Definition at line 55 of file fei_Graph.hpp.


Member Typedef Documentation

alias for the 'table_type' data container

Definition at line 63 of file fei_Graph.hpp.

alias for table_row_type, which is a row of the table

Definition at line 66 of file fei_Graph.hpp.

alias for the type of the remotely-owned portion of the table data

Definition at line 70 of file fei_Graph.hpp.


Constructor & Destructor Documentation

virtual fei::Graph::~Graph ( ) [inline, virtual]

destructor

Definition at line 59 of file fei_Graph.hpp.


Member Function Documentation

virtual int fei::Graph::addIndices ( int  row,
int  len,
const int *  indices 
) [pure virtual]

Add indices to a specified row of the table

Implemented in fei::Graph_Impl, and fei::GraphReducer.

virtual int fei::Graph::addSymmetricIndices ( int  numIndices,
int *  indices,
bool  diagonal = false 
) [pure virtual]

Add a symmetric block of indices. The array of indices will serve as both row-numbers, and as column-numbers in those rows.

Implemented in fei::Graph_Impl, and fei::GraphReducer.

virtual int fei::Graph::gatherFromOverlap ( ) [pure virtual]

gather all remotely-owned table portions to owning processors

Implemented in fei::Graph_Impl, and fei::GraphReducer.

virtual table_type* fei::Graph::getLocalGraph ( ) [pure virtual]

Retrieve the local portion of the graph. i.e., The rows which correspond to locally-owned IDs.

Implemented in fei::Graph_Impl, and fei::GraphReducer.

virtual std::vector<remote_table_type*>& fei::Graph::getRemoteGraph ( ) [pure virtual]

Retrieve the remotely-owned portion of the graph.

Implemented in fei::Graph_Impl, and fei::GraphReducer.

virtual int fei::Graph::writeLocalGraph ( FEI_OSTREAM &  os,
bool  debug = false,
bool  prefixLinesWithPoundSign = true 
) [pure virtual]

Write locally-owned portion of the graph to a specified ostream.

Implemented in fei::Graph_Impl, and fei::GraphReducer.

virtual int fei::Graph::writeRemoteGraph ( FEI_OSTREAM &  os) [pure virtual]

Write remotely-owned portion of the graph to a specified ostream.

Implemented in fei::Graph_Impl, and fei::GraphReducer.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends