8 #ifndef OPENFPM_DATA_SRC_GRID_GRID_SKIN_ITERATOR_HPP_ 
    9 #define OPENFPM_DATA_SRC_GRID_GRID_SKIN_ITERATOR_HPP_ 
   11 #include "grid_key_dx_iterator_sub_bc.hpp" 
   53 template<
unsigned int dim>
 
   78         for (
size_t i = 0 ; i < dim ; i++)
 
   83             for (
size_t j = 0 ; j < dim ; j++)
 
  108                 sub_it[2*i].Initialize(g_sm,k1,k2,bc);
 
  110             for (
size_t j = 0 ; j < dim ; j++)
 
  135             if (bl.
isValid() == 
true && bl != br)
 
  136                 sub_it[2*i+1].Initialize(g_sm,k1,k2,bc);
 
  199         for (
size_t i = 0 ; i < 2*dim ; i++)
 
grid_skin_iterator_bc< dim > & operator++()
Get the next element. 
 
T getLow(int i) const 
get the i-coordinate of the low bound interval of the box 
 
bool isValid() const 
Check if the Box is a valid box P2 >= P1. 
 
grid_key_dx is the key to access any element in the grid 
 
T getHigh(int i) const 
get the high interval of the box 
 
size_t act
Actual iterator. 
 
grid_skin_iterator_bc(const grid_sm< dim, T > &g_sm, const Box< dim, size_t > &A, const Box< dim, size_t > &B, const size_t(&bc)[dim])
Constructor require a grid_sm<dim,T> 
 
void reset()
Reset the iterator (it restart from the beginning) 
 
grid_key_dx_iterator_sub_bc< dim > sub_it[2 *dim]
Internal iterator for each faces. 
 
void reset()
Reset the iterator (it restart from the beginning) 
 
const grid_key_dx< dim > get() const 
Return the actual grid key iterator. 
 
void set_d(size_t i, mem_id id)
Set the i index. 
 
bool isNext()
Check if there is the next element.