Class for MEMORY-WISE cell list implementation. More...
Class for MEMORY-WISE cell list implementation.
This class implement the MEMORY-WISE cell list The memory allocation is small. The memory allocation is (in byte) Size = O(N*size_of(ele))
Where
N = total number of elements M = number of cells sizeof(ele) = the size of the element the cell list is storing, example if the cell list store the particle id (64bit) is 8 byte
| dim | Dimensionality of the space |
| T | type of the space float, double, complex |
Definition at line 34 of file MemMemoryWise.hpp.
#include <MemMemoryWise.hpp>
Public Types | |
| typedef void | toKernel_type |
| typedef local_index | local_index_type |
| expose the type of the local index | |
Public Member Functions | |
| void | init_to_zero (local_index slot, local_index tot_n_cell) |
| Initialize the data structure to zeros. | |
| Mem_mw & | operator= (const Mem_mw &cell) |
| Copy two data-structure. | |
| void | addCell (local_index cell_id, typename base::value_type ele) |
| Add an element to the cell. | |
| void | add (local_index cell_id, typename base::value_type ele) |
| Add an element to the cell. | |
| void | remove (local_index cell, local_index ele) |
| Remove an element from the cell. | |
| size_t | getNelements (const local_index cell_id) const |
| Get the number of elements in the cell. | |
| auto | get (local_index cell, local_index ele) -> decltype(cl_base[0].get(0)) & |
| auto | get (local_index cell, local_index ele) const -> decltype(cl_base.find(cell) ->second.get(0)) & |
| void | swap (Mem_mw &cl) |
| void | swap (Mem_mw &&cell) |
| void | clear () |
| const local_index & | getStartId (size_t part_id) const |
| const local_index & | getStopId (size_t part_id) const |
| const local_index & | get_lin (const local_index *part_id) const |
| Mem_mw (size_t slot) | |
| constructor | |
| void | set_slot (size_t slot) |
| Set the number of slots. | |
Private Types | |
| typedef openfpm::vector< local_index > | base |
| Base type storing information. | |
Private Attributes | |
| std::unordered_map< local_index, base > | cl_base |
| std::remove_reference< decltype(std::declval< openfpm::vector< local_index > >().get(0))>::type | invalid |
| In case of invalid element return this. | |
|
private |
Base type storing information.
Definition at line 37 of file MemMemoryWise.hpp.
| typedef local_index Mem_mw< local_index >::local_index_type |
expose the type of the local index
Definition at line 51 of file MemMemoryWise.hpp.
| typedef void Mem_mw< local_index >::toKernel_type |
Definition at line 48 of file MemMemoryWise.hpp.
constructor
| slot | number of slots (unused) |
Definition at line 194 of file MemMemoryWise.hpp.
|
inline |
Add an element to the cell.
| cell_id | cell-id |
| ele | element to add |
Definition at line 98 of file MemMemoryWise.hpp.
|
inline |
Add an element to the cell.
| cell_id | cell-id |
| ele | element to add |
Definition at line 85 of file MemMemoryWise.hpp.
|
inline |
Definition at line 159 of file MemMemoryWise.hpp.
|
inline |
Definition at line 130 of file MemMemoryWise.hpp.
|
inline |
Definition at line 140 of file MemMemoryWise.hpp.
|
inline |
Definition at line 182 of file MemMemoryWise.hpp.
|
inline |
Get the number of elements in the cell.
| cell_id |
Definition at line 121 of file MemMemoryWise.hpp.
|
inline |
Definition at line 164 of file MemMemoryWise.hpp.
|
inline |
Definition at line 173 of file MemMemoryWise.hpp.
|
inline |
Initialize the data structure to zeros.
In this case it does nothing
| slots | |
| tot_n_cell | total number of cells |
Definition at line 61 of file MemMemoryWise.hpp.
|
inline |
Copy two data-structure.
| cell | data-structure to copy |
Definition at line 73 of file MemMemoryWise.hpp.
|
inline |
Remove an element from the cell.
| cell | cell-id |
| ele | element to remove |
Definition at line 109 of file MemMemoryWise.hpp.
|
inline |
|
inline |
Definition at line 154 of file MemMemoryWise.hpp.
|
inline |
Definition at line 149 of file MemMemoryWise.hpp.
|
private |
each cell has a dynamic structure that store the elements in the cell
Definition at line 41 of file MemMemoryWise.hpp.
|
private |
In case of invalid element return this.
Definition at line 44 of file MemMemoryWise.hpp.