This is an N-dimensional grid or an N-dimensional array with memory_traits_lin layout. More...
Data Structures | |
| class | vector |
| Implementation of 1-D std::vector like structure. More... | |
| class | vector_key_iterator |
| Vector iterator. More... | |
| class | vector< T, HeapMemory, grow_policy_double, STD_VECTOR > |
| Implementation of 1-D std::vector like structure. More... | |
| class | vector< T, Memory, grow_p, OPENFPM_NATIVE > |
| Implementation of 1-D std::vector like structure. More... | |
| class | grow_policy_identity |
| Grow policy define how the vector should grow every time we exceed the size. More... | |
| class | grow_policy_double |
| Grow policy define how the vector should grow every time we exceed the size. More... | |
| class | grow_policy_page |
| Grow policy define how the vector should grow every time we exceed the size. More... | |
| struct | vect_isel |
Typedefs | |
| template<typename T > | |
| using | vector_std = vector< T, HeapMemory, openfpm::grow_policy_double, STD_VECTOR > |
| typedef grow_policy_double | vector_grow_policy_default |
| default grow policy | |
This is an N-dimensional grid or an N-dimensional array with memory_traits_lin layout.
It analyze the type given and it select correctly the implementation for vector.
it is basically an N-dimensional Cartesian grid
| dim | Dimensionality of the grid |
| T | type of object the grid store |
| S | type of memory HeapMemory CudaMemory |
| Mem | memory layout |
| type | to analyze |
[Example]
vect_isel<T>::value
will return 1 for std base implementation will return 2 for openfpm native implementation
Basically the openfpm native implementation require that T has some specific structure, this class check for it, if T does not have this structure it fall to the case 1