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