Symmetric iterator for the neighborhood of the cell structures. More...
Symmetric iterator for the neighborhood of the cell structures.
In general you never create it directly but you get it from the CellList structures
It iterate across all the element of the selected cell and the near cells.
dim | dimensionality of the space where the cell live |
Cell | cell type on which the iterator is working |
NNc_size | neighborhood size |
impl | implementation specific options NO_CHECK do not do check on access, SAFE do check on access |
Definition at line 158 of file CellNNIteratorRuntime.hpp.
#include <CellNNIteratorRuntime.hpp>
Public Member Functions | |
__attribute__ ((always_inline)) inline CellNNIteratorSym(size_t cell | |
Cell NN iterator. | |
size_t const long int size_t Cell const vector_pos_type | impl (cell, NNc, NNc_size, cl) |
size_t const long int size_t Cell const vector_pos_type | p (p) |
size_t const long int size_t Cell const vector_pos_type | v (v) |
__attribute__ ((always_inline)) inline CellNNIteratorSym< dim | |
take the next element | |
impl & | operator++ () |
Public Member Functions inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
__attribute__ ((always_inline)) inline CellNNIterator(size_t cell | |
Cell NN iterator. | |
const long int size_t Cell | NNc_size (NNc_size) |
const long int size_t Cell | cell (cell) |
const long int size_t Cell | cell_id (NNc[NNc_id]+cell) |
const long int size_t Cell | cl (cl) |
const long int size_t Cell | NNc (NNc) |
__attribute__ ((always_inline)) inline bool isNext() | |
Check if there is the next element. | |
__attribute__ ((always_inline)) inline CellNNIterator &operator++() | |
take the next element | |
__attribute__ ((always_inline)) inline const typename Cell | |
Get the value of the cell. | |
Data Fields | |
size_t const long int * | NNc |
size_t const long int size_t | NNc_size |
size_t const long int size_t Cell & | cl |
size_t const long int size_t Cell const vector_pos_type & | v:CellNNIterator<dim |
size_t const long int size_t Cell const vector_pos_type | Cell |
size_t const long int size_t Cell const vector_pos_type | RUNTIME |
Cell | |
vector_pos_type | |
RUNTIME | |
Data Fields inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
const long int size_t | NNc_size |
const long int size_t Cell & | cl:NNc_id(0) |
Private Member Functions | |
__attribute__ ((always_inline)) inline void selectValid() | |
Private Attributes | |
size_t | p |
index of the particle p | |
const vector_pos_type & | v |
Position of the particle p. | |
Additional Inherited Members | |
Protected Member Functions inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
__attribute__ ((always_inline)) inline void selectValid() | |
Select non-empty cell. | |
Protected Attributes inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
const Cell::Mem_type_type::loc_index * | start_id |
actual element id | |
const Cell::Mem_type_type::loc_index * | stop_id |
stop id to read the end of the cell | |
size_t | NNc_id |
Actual NNc_id;. | |
size_t | NNc_size |
Size of the neighboring cells. | |
const long int | cell |
Center cell, or cell for witch we are searching the NN-cell. | |
size_t | cell_id |
actual cell id = NNc[NNc_id]+cell stored for performance reason | |
Cell & | cl |
Cell list. | |
const long int * | NNc |
NN cell id. | |
CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::__attribute__ | ( | (always_inline) | ) |
Cell NN iterator.
cell | Cell id |
p | index of the particle from which we are searching the neighborhood particles |
NNc | Cell neighborhood indexes (relative) |
cl | Cell structure |
CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::__attribute__ | ( | (always_inline) | ) |
take the next element
|
inlineprivate |
Select the next valid element
Definition at line 169 of file CellNNIteratorRuntime.hpp.
|
inline |
Definition at line 228 of file CellNNIteratorRuntime.hpp.
|
inline |
Definition at line 214 of file CellNNIteratorRuntime.hpp.
size_t const long int size_t Cell const vector_pos_type CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::Cell |
Definition at line 214 of file CellNNIteratorRuntime.hpp.
CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::Cell |
Definition at line 228 of file CellNNIteratorRuntime.hpp.
size_t const long int size_t Cell& CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::cl |
Definition at line 212 of file CellNNIteratorRuntime.hpp.
size_t const long int* CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::NNc |
Definition at line 210 of file CellNNIteratorRuntime.hpp.
size_t const long int size_t CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::NNc_size |
Definition at line 211 of file CellNNIteratorRuntime.hpp.
|
private |
index of the particle p
Definition at line 161 of file CellNNIteratorRuntime.hpp.
size_t const long int size_t Cell const vector_pos_type CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::RUNTIME |
Definition at line 214 of file CellNNIteratorRuntime.hpp.
CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::RUNTIME |
Definition at line 228 of file CellNNIteratorRuntime.hpp.
|
private |
Position of the particle p.
Definition at line 164 of file CellNNIteratorRuntime.hpp.
size_t const long int size_t Cell const vector_pos_type& CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::v |
Definition at line 213 of file CellNNIteratorRuntime.hpp.
CellNNIteratorSym< dim, Cell, vector_pos_type, RUNTIME, impl >::vector_pos_type |
Definition at line 228 of file CellNNIteratorRuntime.hpp.