OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
SparseGridGpu_iterator_sub< dim, SparseGridType > Class Template Reference

Detailed Description

template<unsigned int dim, typename SparseGridType>
class SparseGridGpu_iterator_sub< dim, SparseGridType >

Definition at line 14 of file SparseGridGpu_iterator_sub.hpp.

Public Member Functions

 SparseGridGpu_iterator_sub ()
 Default constructor. More...
 
 SparseGridGpu_iterator_sub (const SparseGridType &sparseGrid, const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop, int is_to_init)
 Constructor. More...
 
grid_key_dx< dim > getStart () const
 Return the starting point. More...
 
grid_key_dx< dim > getStop () const
 Return the stop point. More...
 
void reinitialize (const SparseGridGpu_iterator_sub< dim, SparseGridType > &it_sub)
 Reinitialize the iterator. More...
 
bool isNext () const
 Check if there is the next element. More...
 
SparseGridGpu_iterator_sub< dim, SparseGridType > & operator++ ()
 Get the next element. More...
 
sparse_grid_gpu_index< SparseGridType > get () const
 return the actual point More...
 
SparseGridGpu_iterator_sub< dim, SparseGridType > & operator= (const SparseGridGpu_iterator_sub< dim, SparseGridType > &it_sub)
 

Private Types

typedef std::remove_reference< decltype(sparseGrid->private_get_index_array())>::type index_array_type
 array type for the indexes
 
typedef std::remove_reference< decltype(sparseGrid->private_get_data_array())>::type data_array_type
 array type for the data
 
typedef boost::mpl::at< typename data_array_type::value_type::type, boost::mpl::int_< 0 > >::type chunk_type
 
typedef boost::mpl::int_< boost::mpl::size< typename data_array_type::value_type::type >::type::value-1 > pMask
 

Private Member Functions

void initialize_chunk_it ()
 initialize the chunk interator More...
 
void SelectValid ()
 Select the first valid point chunk.
 
void initialize_chunk_sz ()
 Initialize chunk_sz member. More...
 

Private Attributes

unsigned int chunk
 actual chunk
 
const SparseGridType * sparseGrid
 original SparseGrid
 
grid_key_dx< dim, int > chunk_coord
 chunk coordinates
 
const std::remove_reference< decltype(sparseGrid->private_get_index_array())>::type * ids
 vector of the chunk indexes
 
const std::remove_reference< decltype(sparseGrid->private_get_data_array())>::type * data
 vector containing each chunks datas
 
Box< dim, int > sub_set
 
Box< dim, int > res
 
grid_key_dx_iterator_sub< dim > in_chunk_it
 
grid_sm< dim, void > chunk_sz
 

Constructor & Destructor Documentation

◆ SparseGridGpu_iterator_sub() [1/2]

template<unsigned int dim, typename SparseGridType>
SparseGridGpu_iterator_sub< dim, SparseGridType >::SparseGridGpu_iterator_sub ( )
inline

Default constructor.

Definition at line 129 of file SparseGridGpu_iterator_sub.hpp.

◆ SparseGridGpu_iterator_sub() [2/2]

template<unsigned int dim, typename SparseGridType>
SparseGridGpu_iterator_sub< dim, SparseGridType >::SparseGridGpu_iterator_sub ( const SparseGridType &  sparseGrid,
const grid_key_dx< dim > &  start,
const grid_key_dx< dim > &  stop,
int  is_to_init 
)
inline

Constructor.

Parameters
sparseGridoriginal sparse grid
startstarting point
stopstop point

Definition at line 145 of file SparseGridGpu_iterator_sub.hpp.

Member Function Documentation

◆ get()

template<unsigned int dim, typename SparseGridType>
sparse_grid_gpu_index<SparseGridType> SparseGridGpu_iterator_sub< dim, SparseGridType >::get ( ) const
inline

return the actual point

Returns
the index of the actual point

Definition at line 230 of file SparseGridGpu_iterator_sub.hpp.

◆ getStart()

template<unsigned int dim, typename SparseGridType>
grid_key_dx<dim> SparseGridGpu_iterator_sub< dim, SparseGridType >::getStart ( ) const
inline

Return the starting point.

Returns
the start point

Definition at line 172 of file SparseGridGpu_iterator_sub.hpp.

◆ getStop()

template<unsigned int dim, typename SparseGridType>
grid_key_dx<dim> SparseGridGpu_iterator_sub< dim, SparseGridType >::getStop ( ) const
inline

Return the stop point.

Returns
the stop point

Definition at line 182 of file SparseGridGpu_iterator_sub.hpp.

◆ initialize_chunk_it()

template<unsigned int dim, typename SparseGridType>
void SparseGridGpu_iterator_sub< dim, SparseGridType >::initialize_chunk_it ( )
inlineprivate

initialize the chunk interator

Definition at line 59 of file SparseGridGpu_iterator_sub.hpp.

◆ initialize_chunk_sz()

template<unsigned int dim, typename SparseGridType>
void SparseGridGpu_iterator_sub< dim, SparseGridType >::initialize_chunk_sz ( )
inlineprivate

Initialize chunk_sz member.

Definition at line 114 of file SparseGridGpu_iterator_sub.hpp.

◆ isNext()

template<unsigned int dim, typename SparseGridType>
bool SparseGridGpu_iterator_sub< dim, SparseGridType >::isNext ( ) const
inline

Check if there is the next element.

Check if there is the next element

Returns
true if there is the next, false otherwise

Definition at line 204 of file SparseGridGpu_iterator_sub.hpp.

◆ operator++()

template<unsigned int dim, typename SparseGridType>
SparseGridGpu_iterator_sub<dim,SparseGridType>& SparseGridGpu_iterator_sub< dim, SparseGridType >::operator++ ( )
inline

Get the next element.

Get the next element

Returns
the next grid_key

Definition at line 216 of file SparseGridGpu_iterator_sub.hpp.

◆ reinitialize()

template<unsigned int dim, typename SparseGridType>
void SparseGridGpu_iterator_sub< dim, SparseGridType >::reinitialize ( const SparseGridGpu_iterator_sub< dim, SparseGridType > &  it_sub)
inline

Reinitialize the iterator.

Parameters
it_subsubiterator

Definition at line 192 of file SparseGridGpu_iterator_sub.hpp.


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