FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
fei::Graph Class Referenceabstract

#include <fei_Graph.hpp>

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

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 20 of file fei_Graph.hpp.

Member Typedef Documentation

alias for the 'table_type' data container

Definition at line 28 of file fei_Graph.hpp.

alias for table_row_type, which is a row of the table

Definition at line 31 of file fei_Graph.hpp.

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

Definition at line 35 of file fei_Graph.hpp.

Constructor & Destructor Documentation

virtual fei::Graph::~Graph ( )
inlinevirtual

destructor

Definition at line 24 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::GraphReducer, and fei::Graph_Impl.

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::GraphReducer, and fei::Graph_Impl.

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

gather all remotely-owned table portions to owning processors

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

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::GraphReducer, and fei::Graph_Impl.

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

Retrieve the remotely-owned portion of the graph.

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

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::GraphReducer, and fei::Graph_Impl.

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

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

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


The documentation for this class was generated from the following file: