Distributed grid iterator. More...
Distributed grid iterator.
Iterator across the local elements of the distributed grid
dim | dimensionality of the grid |
device_grid | type of basic grid |
stencil | it inject the code to calculate stencil offset |
sub_iterator | it indicate the sub-iterator type of the device_grid |
Definition at line 277 of file grid_dist_id_iterator.hpp.
#include <grid_dist_id_iterator.hpp>
Public Member Functions | |
grid_dist_iterator (const openfpm::vector< device_grid > &gk, const openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, const grid_key_dx< dim > &stop) | |
Constructor of the distributed grid iterator. | |
grid_dist_iterator (openfpm::vector< device_grid > &gk, const openfpm::vector< GBoxes< device_grid::dims > > &gdb_ext, const grid_key_dx< dim > &stop, const grid_key_dx< dim >(&stencil_pnt)[stencil::nsp]) | |
Constructor of the distributed grid iterator with stencil support. | |
grid_dist_iterator (const grid_dist_iterator< dim, device_grid, device_sub_it, impl, stencil > &g) | |
Copy constructor. | |
grid_dist_iterator (grid_dist_iterator< dim, device_grid, device_sub_it, impl, stencil > &&g) | |
Copy constructor. | |
~grid_dist_iterator () | |
Destructor. | |
grid_dist_iterator< dim, device_grid, device_sub_it, impl, stencil > & | operator++ () |
Get the next element. | |
bool | isNext () const |
Check if there is the next element. | |
grid_dist_key_dx< dim, typename device_grid::base_key > | get () const |
Get the actual key. | |
grid_key_dx< dim > | getStop () const |
it return the stop point of the iterator | |
grid_key_dx< dim > | getStart () const |
it return the start point of the iterator | |
const openfpm::vector< GBoxes< device_grid::dims > > & | getGBoxes () |
Get the boxes. | |
grid_key_dx< dim > | getGKey (const grid_dist_key_dx< dim, typename device_grid::base_key > &k) |
Convert a g_dist_key_dx into a global key. | |
template<unsigned int id> | |
grid_dist_lin_dx | getStencil () |
Return the stencil point offset. | |
Private Member Functions | |
void | selectValidGrid () |
from g_c increment g_c until you find a valid grid | |
Private Attributes | |
size_t | g_c |
grid list counter | |
const openfpm::vector< device_grid > & | gList |
List of the grids we are going to iterate. | |
const openfpm::vector< GBoxes< device_grid::dims > > & | gdb_ext |
Extension of each grid: domain and ghost + domain. | |
device_sub_it | a_it |
Actual iterator. | |
grid_key_dx< dim > | stop |
stop point (is the grid size) | |
|
inline |
Constructor of the distributed grid iterator.
gk | std::vector of the local grid |
gdb_ext | set of local subdomains |
stop | end point |
Definition at line 330 of file grid_dist_id_iterator.hpp.
|
inline |
Constructor of the distributed grid iterator with stencil support.
gk | std::vector of the local grid |
gdb_ext | set of local subdomains |
stop | end point |
stencil_pnt | stencil points |
Definition at line 350 of file grid_dist_id_iterator.hpp.
|
inline |
Copy constructor.
Definition at line 362 of file grid_dist_id_iterator.hpp.
|
inline |
Copy constructor.
Definition at line 367 of file grid_dist_id_iterator.hpp.
|
inline |
Destructor.
Definition at line 372 of file grid_dist_id_iterator.hpp.
|
inline |
|
inline |
Get the boxes.
Get the boxes that define the local grids
Definition at line 460 of file grid_dist_id_iterator.hpp.
|
inline |
Convert a g_dist_key_dx into a global key.
k | key position in local coordinates |
Definition at line 475 of file grid_dist_id_iterator.hpp.
|
inline |
it return the start point of the iterator
The start point of the iterator is the point with all coordinates zeros
Definition at line 444 of file grid_dist_id_iterator.hpp.
|
inline |
Return the stencil point offset.
id |
Definition at line 495 of file grid_dist_id_iterator.hpp.
|
inline |
it return the stop point of the iterator
The stop point of the iterator is just the grid size
Definition at line 432 of file grid_dist_id_iterator.hpp.
|
inline |
Check if there is the next element.
Definition at line 405 of file grid_dist_id_iterator.hpp.
|
inline |
Get the next element.
Definition at line 381 of file grid_dist_id_iterator.hpp.
|
inlineprivate |
from g_c increment g_c until you find a valid grid
Definition at line 297 of file grid_dist_id_iterator.hpp.
|
private |
Actual iterator.
Definition at line 289 of file grid_dist_id_iterator.hpp.
|
private |
grid list counter
Definition at line 280 of file grid_dist_id_iterator.hpp.
|
private |
Extension of each grid: domain and ghost + domain.
Definition at line 286 of file grid_dist_id_iterator.hpp.
|
private |
List of the grids we are going to iterate.
Definition at line 283 of file grid_dist_id_iterator.hpp.
|
private |
stop point (is the grid size)
Definition at line 292 of file grid_dist_id_iterator.hpp.