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 |
| impl | implementation |
Definition at line 22 of file grid_dist_id_iterator_sub.hpp.
#include <grid_dist_id_iterator_sub.hpp>
Data Structures | |
| struct | sub_set |
Public Member Functions | |
| grid_dist_iterator_sub< dim, device_grid > & | operator= (const grid_dist_iterator_sub< dim, device_grid > &tmp) |
| Copy operator=. More... | |
| grid_dist_iterator_sub (const grid_dist_iterator_sub< dim, device_grid > &tmp) | |
| Copy constructor. More... | |
| grid_dist_iterator_sub (const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop, const openfpm::vector< device_grid > &gk, const openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext) | |
| Constructor of the distributed grid iterator. More... | |
| grid_dist_iterator_sub< dim, device_grid > & | operator++ () |
| Get the next element. More... | |
| bool | isNext () |
| Check if there is the next element. More... | |
| grid_dist_key_dx< dim > | get () |
| Get the actual key. More... | |
| grid_key_dx< dim > | getGKey (const grid_dist_key_dx< dim > &k) |
| Convert a g_dist_key_dx into a global key. More... | |
| grid_key_dx< dim > | getStart () const |
| grid_key_dx< dim > | getStop () const |
| size_t | N_loc_grid () |
| Return the number of local grids. More... | |
| size_t | loc_grid_info_start (size_t i, size_t j) |
| Return the component j of the starting point (P1) of the domain part for the local grid i. More... | |
| size_t | loc_grid_info_size (size_t i, size_t j) |
| Return the component j of the stop point (P2) of the domain part for the local grid i. More... | |
Private Member Functions | |
| bool | compute_subset (size_t gc, grid_key_dx< dim > &start_c, grid_key_dx< dim > &stop_c) |
| compute the subset where it has to iterate More... | |
| void | selectValidGrid () |
| from g_c increment g_c until you find a valid grid More... | |
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. | |
| grid_key_dx_iterator_sub< dim > | a_it |
| Actual iterator. | |
| grid_key_dx< dim > | start |
| start key | |
| grid_key_dx< dim > | stop |
| stop key | |
|
inline |
Copy constructor.
| tmp | iterator to copy |
Definition at line 131 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Constructor of the distributed grid iterator.
| start | position |
| stop | position |
| gk | std::vector of the local grid |
| gdb_ext | information about the local grids |
Definition at line 149 of file grid_dist_id_iterator_sub.hpp.
|
inlineprivate |
compute the subset where it has to iterate
| gc | Actual grid |
| start_c | adjusted start point for the grid g_c |
| stop_c | adjusted stop point for the grid g_c |
Definition at line 60 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Get the actual key.
Definition at line 207 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Convert a g_dist_key_dx into a global key.
Definition at line 220 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Check if there is the next element.
Definition at line 192 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Return the component j of the stop point (P2) of the domain part for the local grid i.
| i | local grid |
| j | dimension |
Definition at line 283 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Return the component j of the starting point (P1) of the domain part for the local grid i.
| i | local grid |
| j | dimension |
Definition at line 270 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Return the number of local grids.
Definition at line 257 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Get the next element.
Definition at line 168 of file grid_dist_id_iterator_sub.hpp.
|
inline |
Copy operator=.
| tmp | iterator to copy |
Definition at line 114 of file grid_dist_id_iterator_sub.hpp.
|
inlineprivate |
from g_c increment g_c until you find a valid grid
Definition at line 89 of file grid_dist_id_iterator_sub.hpp.