convert a type into constant type More...
Typedefs | |
template<typename T > | |
using | vector_std = vector< T, HeapMemory, memory_traits_lin, openfpm::grow_policy_double, STD_VECTOR > |
template<typename T > | |
using | vector_gpu = openfpm::vector< T, CudaMemory, memory_traits_inte > |
template<typename T > | |
using | vector_gpu_lin = openfpm::vector< T, CudaMemory, memory_traits_lin > |
template<typename T > | |
using | vector_gpu_single = openfpm::vector< T, CudaMemory, memory_traits_inte, openfpm::grow_policy_identity > |
template<typename T > | |
using | vector_custd = vector< T, CudaMemory, memory_traits_inte, openfpm::grow_policy_double, STD_VECTOR > |
typedef grow_policy_double | vector_grow_policy_default |
default grow policy | |
template<typename T , unsigned int blockSwitch = VECTOR_SPARSE_STANDARD, typename block_functor = stub_block_functor, typename indexT = int> | |
using | vector_sparse_gpu = openfpm::vector_sparse< T, indexT, CudaMemory, typename memory_traits_inte< T >::type, memory_traits_inte, grow_policy_double, vect_isel< T >::value, blockSwitch, block_functor > |
template<typename T , typename block_functor = stub_block_functor, typename indexT = long int> | |
using | vector_sparse_gpu_block = openfpm::vector_sparse< T, indexT, CudaMemory, typename memory_traits_inte< T >::type, memory_traits_inte, grow_policy_double, vect_isel< T >::value, VECTOR_SPARSE_BLOCK, block_functor > |
Functions | |
template<unsigned int p, typename aggr > | |
auto | at_c (aggr &agg) -> decltype(boost::fusion::at_c< p >(agg.data)) |
template<unsigned int p, typename aggr > | |
auto | get (aggr &agg) -> decltype(boost::fusion::at_c< p >(agg.data)) |
template<class T > | |
constexpr std::add_const< T >::type & | as_const (T &t) noexcept |
template<class T , std::size_t N> | |
bool | operator== (const array< T, N > &x, const array< T, N > &y) |
template<class T , std::size_t N> | |
bool | operator< (const array< T, N > &x, const array< T, N > &y) |
template<class T , std::size_t N> | |
bool | operator!= (const array< T, N > &x, const array< T, N > &y) |
template<class T , std::size_t N> | |
bool | operator> (const array< T, N > &x, const array< T, N > &y) |
template<class T , std::size_t N> | |
bool | operator<= (const array< T, N > &x, const array< T, N > &y) |
template<class T , std::size_t N> | |
bool | operator>= (const array< T, N > &x, const array< T, N > &y) |
template<class T , std::size_t N> | |
void | swap (array< T, N > &x, array< T, N > &y) |
template<typename T , std::size_t N> | |
T(& | get_c_array (openfpm::array< T, N > &arg))[N] |
template<typename T , std::size_t N> | |
const T(& | get_c_array (const openfpm::array< T, N > &arg))[N] |
template<class It > | |
std::size_t | hash_range (It, It) |
template<class T , std::size_t N> | |
std::size_t | hash_value (const array< T, N > &arr) |
template<size_t Idx, typename T , size_t N> | |
T & | get (openfpm::array< T, N > &arr) noexcept |
template<size_t Idx, typename T , size_t N> | |
const T & | get (const openfpm::array< T, N > &arr) noexcept |
vector (vector< T, Memory, layout_base, grow_p, impl > &v_all, vector< aggregate< int >, Memory, layout_base, grow_p, impl > &indexes) | |
template<unsigned int ... prp> | |
vector_dist_ker< dim, St, prop, layout_base > | toKernel () |
template<unsigned int p> | |
auto | get (size_t id) const -> decltype(v_all.template get< p >(0)) |
template<typename T , typename P > | |
auto | distance (T exp1, P exp2) -> decltype(norm(exp1 - exp2)) |
General distance formula. | |
Variables | |
constexpr int | VECTOR_SPARSE_STANDARD = 1 |
constexpr int | VECTOR_SPARSE_BLOCK = 2 |
class openfpm::vector_subset_ker | T |
class openfpm::vector_subset_ker | Memory |
class openfpm::vector_subset_ker | layout_base |
class openfpm::vector_subset_ker | grow_p |
class openfpm::vector_subset_ker & | v_all |
vector< aggregate< int >, Memory, layout_base, grow_p, impl > & | indexes |
convert a type into constant type
this set of meta-functions traverse at compile time the tree-structure of types in Depth-first search. and transform any root node of type vector into vector_gpu_ker
T | type tp convert |
Consider
vector_gpu<aggregate<int,vector_gpu<aggregate<int,float>>>>
is a tree in this form
* * * vector_gpu<aggregate<...>> * / \ * / \ * / \ * int * vector_gpu<aggregate<...>> * / \ * / \ * / \ * int float * *
The vector is transformed at compile-time into
is a tree in this form
* * * vector_gpu_ker<aggregate<...>> * / \ * / \ * / \ * int * vector_gpu_ker<aggregate<...>> * / \ * / \ * / \ * int float * *
using openfpm::vector_custd = typedef vector<T, CudaMemory, memory_traits_inte, openfpm::grow_policy_double, STD_VECTOR> |
Definition at line 2366 of file map_vector.hpp.
using openfpm::vector_gpu = typedef openfpm::vector<T,CudaMemory,memory_traits_inte> |
Definition at line 2363 of file map_vector.hpp.
using openfpm::vector_gpu_lin = typedef openfpm::vector<T,CudaMemory,memory_traits_lin> |
Definition at line 2364 of file map_vector.hpp.
using openfpm::vector_gpu_single = typedef openfpm::vector<T,CudaMemory,memory_traits_inte,openfpm::grow_policy_identity> |
Definition at line 2365 of file map_vector.hpp.
default grow policy
Definition at line 67 of file map_vector_grow_p.hpp.
using openfpm::vector_sparse_gpu = typedef openfpm::vector_sparse< T, indexT, CudaMemory, typename memory_traits_inte<T>::type, memory_traits_inte, grow_policy_double, vect_isel<T>::value, blockSwitch, block_functor > |
Definition at line 2112 of file map_vector_sparse.hpp.
using openfpm::vector_sparse_gpu_block = typedef openfpm::vector_sparse< T, indexT, CudaMemory, typename memory_traits_inte<T>::type, memory_traits_inte, grow_policy_double, vect_isel<T>::value, VECTOR_SPARSE_BLOCK, block_functor > |
Definition at line 2125 of file map_vector_sparse.hpp.
using openfpm::vector_std = typedef vector<T, HeapMemory, memory_traits_lin, openfpm::grow_policy_double, STD_VECTOR> |
Definition at line 2362 of file map_vector.hpp.
|
constexprnoexcept |
Definition at line 43 of file common.hpp.
auto openfpm::at_c | ( | aggr & | agg | ) | -> decltype(boost::fusion::at_c<p>(agg.data)) |
Definition at line 295 of file aggregate.hpp.
auto openfpm::distance | ( | T | exp1, |
P | exp2 | ||
) | -> decltype(norm(exp1 - exp2)) |
General distance formula.
Definition at line 521 of file vector_dist_operators_functions.hpp.
auto openfpm::get | ( | aggr & | agg | ) | -> decltype(boost::fusion::at_c<p>(agg.data)) |
Definition at line 301 of file aggregate.hpp.
|
noexcept |
Definition at line 382 of file array_openfpm.hpp.
|
noexcept |
Definition at line 375 of file array_openfpm.hpp.
|
inline |
Definition at line 58 of file vector_subset.hpp.
const T(& openfpm::get_c_array | ( | const openfpm::array< T, N > & | arg | ) | )[N] |
Definition at line 359 of file array_openfpm.hpp.
T(& openfpm::get_c_array | ( | openfpm::array< T, N > & | arg | ) | )[N] |
Definition at line 352 of file array_openfpm.hpp.
std::size_t openfpm::hash_value | ( | const array< T, N > & | arr | ) |
Definition at line 369 of file array_openfpm.hpp.
bool openfpm::operator!= | ( | const array< T, N > & | x, |
const array< T, N > & | y | ||
) |
Definition at line 301 of file array_openfpm.hpp.
bool openfpm::operator< | ( | const array< T, N > & | x, |
const array< T, N > & | y | ||
) |
Definition at line 297 of file array_openfpm.hpp.
bool openfpm::operator<= | ( | const array< T, N > & | x, |
const array< T, N > & | y | ||
) |
Definition at line 309 of file array_openfpm.hpp.
bool openfpm::operator== | ( | const array< T, N > & | x, |
const array< T, N > & | y | ||
) |
Definition at line 293 of file array_openfpm.hpp.
bool openfpm::operator> | ( | const array< T, N > & | x, |
const array< T, N > & | y | ||
) |
Definition at line 305 of file array_openfpm.hpp.
bool openfpm::operator>= | ( | const array< T, N > & | x, |
const array< T, N > & | y | ||
) |
Definition at line 313 of file array_openfpm.hpp.
|
inline |
Definition at line 319 of file array_openfpm.hpp.
vector_dist_ker< dim, St, prop, layout_base > openfpm::toKernel | ( | ) |
Definition at line 50 of file vector_subset.hpp.
openfpm::vector | ( | vector< T, Memory, layout_base, grow_p, impl > & | v_all, |
vector< aggregate< int >, Memory, layout_base, grow_p, impl > & | indexes | ||
) |
Definition at line 43 of file vector_subset.hpp.
Definition at line 39 of file vector_subset.hpp.
|
constexpr |
Definition at line 63 of file map_vector_sparse.hpp.
|
constexpr |
Definition at line 62 of file map_vector_sparse.hpp.