SUNphi  1.0
PartitioningLevel< I > Class Template Reference

Grid to be partitioned. More...

Public Member Functions

template<typename F >
void visitAll (const F &fun)
 
Vector< PartitioningLevel * > getAllWithUnfixedVol ()
 List all elements of the partitioning with unfixed nodes. More...
 
bool volumeIsSet () const
 Determines if the volume is set.
 
bool volumeIsBound () const
 
 PartitioningLevel (const int nDim, const std::string &name)
 Constructor.
 
const I & getVol () const
 Returns the volume.
 
void addFatherSister (PartitioningLevel &f, PartitioningLevel &s)
 
void addChild (PartitioningLevel< I > &a, PartitioningLevel< I > &b)
 
bool setVol (const I &v)
 

Public Attributes

const std::string name
 Name of the partitioning.
 

Private Types

using PLPP = std::pair< PartitioningLevel *, PartitioningLevel * >
 Partitioning Level Pair of Pointers.
 

Private Member Functions

template<typename F >
void visitAll (Vector< PartitioningLevel * > &visited, const F &fun)
 

Private Attributes

vol
 Voluem of the grid.
 
Vector< I > sides
 Sides of the grid.
 
Vector< PLPPfatherSisters
 
Vector< PLPPchildren
 List of children grid partitioning this grid.
 

Detailed Description

template<typename I = int64_t>
class PartitioningLevel< I >

Grid to be partitioned.

Definition at line 15 of file main.cpp.

Member Function Documentation

template<typename I = int64_t>
Vector<PartitioningLevel*> PartitioningLevel< I >::getAllWithUnfixedVol ( )
inline

List all elements of the partitioning with unfixed nodes.

List to be returned

Definition at line 76 of file main.cpp.

template<typename I = int64_t>
bool PartitioningLevel< I >::setVol ( const I &  v)
inline

Indent current scope

Indent current scope

Indent current scope

Indent current scope

Definition at line 148 of file main.cpp.

template<typename I = int64_t>
template<typename F >
void PartitioningLevel< I >::visitAll ( Vector< PartitioningLevel< I > * > &  visited,
const F &  fun 
)
inlineprivate

Visit all nodes executing the passed function on current node and appending to the list of visited

Internal implementation

Parameters
visitedList of visited nodes
funFunction to be run on this node

Definition at line 42 of file main.cpp.

template<typename I = int64_t>
template<typename F >
void PartitioningLevel< I >::visitAll ( const F &  fun)
inline

Visit all nodes executing the passed function on current node and appending to the list of visited

List of visited node

Parameters
funFunction to be run on this node

Definition at line 67 of file main.cpp.

template<typename I = int64_t>
bool PartitioningLevel< I >::volumeIsBound ( ) const
inline

Determines if the volume has an upper bound coming from direct fathers or if the volume is set

Definition at line 101 of file main.cpp.

Member Data Documentation

template<typename I = int64_t>
Vector<PLPP> PartitioningLevel< I >::fatherSisters
private

List of fathers which are parted by this grid, and sister (result of the partitioning)

Sister could be accessed through father search, but it's easier to provide a shortcut

Definition at line 32 of file main.cpp.


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