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 |
template<typename T , typename P > | |
auto | distance (T exp1, P exp2) -> decltype(norm(exp1 - exp2)) |
General distance formula. More... | |
Variables | |
constexpr int | VECTOR_SPARSE_STANDARD = 1 |
constexpr int | VECTOR_SPARSE_BLOCK = 2 |
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 * *
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.