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.