LifeV
VectorBlockStructure Class Reference

VectorBlockStructure - class representing the structure of a vector. More...

#include <VectorBlockStructure.hpp>

+ Collaboration diagram for VectorBlockStructure:

Private Attributes

std::vector< UIntM_blockSize
 
std::vector< UIntM_blockFirstIndex
 
UInt M_totalSize
 

Public Types

typedef Real data_Type
 Type of data stored. More...
 
typedef MapEpetra map_Type
 Type of the map to be used. More...
 
typedef MapVector< map_TypemapVector_Type
 Type of the MapVector to be used with this class. More...
 
typedef MapEpetraType mapType_Type
 Type of the map (Unique/Repeated) More...
 
typedef Epetra_CombineMode combine_Type
 Combine mode. More...
 

Constructor & Destructor

 VectorBlockStructure ()
 Default constructor. More...
 
 VectorBlockStructure (const map_Type &map)
 Constructor with the monolithic map. More...
 
 VectorBlockStructure (const mapVector_Type &mapVector)
 Construction with a map. More...
 
 VectorBlockStructure (const VectorBlockStructure &blockStructure)
 Copy constructor. More...
 
 ~VectorBlockStructure ()
 Destructor. More...
 

Set Methods

void setBlockStructure (const std::vector< UInt > &blockSizes)
 
void setBlockStructure (const mapVector_Type &mapVector)
 Reset the block structure using the blocks of a vector of map. More...
 
void setBlockStructure (const VectorBlockStructure &blockStructure)
 

Get Methods

UInt blockSize (const UInt &index) const
 Getter for the size of the block index. More...
 
UInt blockFirstIndex (const UInt &index) const
 
UInt numBlocks () const
 
UInt totalSize () const
 

Detailed Description

VectorBlockStructure - class representing the structure of a vector.

Author
Gwenol Grandperrin gweno.nosp@m.l.gr.nosp@m.andpe.nosp@m.rrin.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Definition at line 51 of file VectorBlockStructure.hpp.

Member Typedef Documentation

◆ data_Type

typedef Real data_Type

Type of data stored.

Definition at line 59 of file VectorBlockStructure.hpp.

◆ map_Type

Type of the map to be used.

Definition at line 62 of file VectorBlockStructure.hpp.

◆ mapVector_Type

Type of the MapVector to be used with this class.

Definition at line 65 of file VectorBlockStructure.hpp.

◆ mapType_Type

Type of the map (Unique/Repeated)

Definition at line 68 of file VectorBlockStructure.hpp.

◆ combine_Type

typedef Epetra_CombineMode combine_Type

Combine mode.

Definition at line 71 of file VectorBlockStructure.hpp.

Constructor & Destructor Documentation

◆ VectorBlockStructure() [1/4]

Default constructor.

Definition at line 45 of file VectorBlockStructure.cpp.

+ Here is the caller graph for this function:

◆ VectorBlockStructure() [2/4]

VectorBlockStructure ( const map_Type map)

Constructor with the monolithic map.

Definition at line 52 of file VectorBlockStructure.cpp.

+ Here is the caller graph for this function:

◆ VectorBlockStructure() [3/4]

VectorBlockStructure ( const mapVector_Type mapVector)

Construction with a map.

With this constructor, the block structure is automatically deduced from the maps in the vector. The monolithic map and vectors are also built by concatenating the different maps in the vector.

Definition at line 59 of file VectorBlockStructure.cpp.

+ Here is the caller graph for this function:

◆ VectorBlockStructure() [4/4]

VectorBlockStructure ( const VectorBlockStructure blockStructure)

Copy constructor.

Definition at line 81 of file VectorBlockStructure.cpp.

+ Here is the caller graph for this function:

◆ ~VectorBlockStructure()

~VectorBlockStructure ( )
inline

Destructor.

Definition at line 97 of file VectorBlockStructure.hpp.

Member Function Documentation

◆ setBlockStructure() [1/3]

void setBlockStructure ( const std::vector< UInt > &  blockSizes)

Set the size of the blocks of the vector

Parameters
blockSizesSizes of the blocks

Definition at line 95 of file VectorBlockStructure.cpp.

◆ setBlockStructure() [2/3]

void setBlockStructure ( const mapVector_Type mapVector)

Reset the block structure using the blocks of a vector of map.

Definition at line 112 of file VectorBlockStructure.cpp.

◆ setBlockStructure() [3/3]

void setBlockStructure ( const VectorBlockStructure blockStructure)

Set the block structure using a block structure

Parameters
blockStructureStructure of the vector

Definition at line 131 of file VectorBlockStructure.cpp.

◆ blockSize()

UInt blockSize ( const UInt index) const
inline

Getter for the size of the block index.

Parameters
indexIndex of the block
Returns
size of the index-th block

Definition at line 138 of file VectorBlockStructure.hpp.

◆ blockFirstIndex()

UInt blockFirstIndex ( const UInt index) const
inline
Parameters
indexIndex of the block
Returns
index of the first entry in the index-th block

Definition at line 148 of file VectorBlockStructure.hpp.

◆ numBlocks()

UInt numBlocks ( ) const
inline
Returns
Number of blocks

Definition at line 157 of file VectorBlockStructure.hpp.

+ Here is the caller graph for this function:

◆ totalSize()

UInt totalSize ( ) const
inline
Returns
Number of blocks

Definition at line 165 of file VectorBlockStructure.hpp.

Field Documentation

◆ M_blockSize

std::vector<UInt> M_blockSize
private

Definition at line 174 of file VectorBlockStructure.hpp.

◆ M_blockFirstIndex

std::vector<UInt> M_blockFirstIndex
private

Definition at line 175 of file VectorBlockStructure.hpp.

◆ M_totalSize

UInt M_totalSize
private

Definition at line 176 of file VectorBlockStructure.hpp.


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