OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector > Class Template Reference

Detailed Description

template<typename T, std::size_t NumDims, typename vector>
class openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >

Definition at line 212 of file multi_array_ref_base_openfpm.hpp.

+ Inheritance diagram for openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >:

Data Structures

struct  array_view_openfpm
 
struct  const_array_view_openfpm
 
struct  const_subarray
 
struct  subarray
 

Public Types

typedef types::index index
 
typedef types::size_type size_type
 
typedef types::element element
 
typedef types::value_type value_type
 
typedef types::reference reference
 
typedef types::const_reference const_reference
 
typedef array_iterator_openfpm< T, T *, boost::mpl::size_t< NumDims >, vector, reference, boost::random_access_traversal_tag > iterator
 
typedef array_iterator_openfpm< T, T const *, boost::mpl::size_t< NumDims >, vector, const_reference, boost::random_access_traversal_tag > const_iterator
 
typedef ::boost::reverse_iterator< iteratorreverse_iterator
 
typedef ::boost::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 BOOST_STATIC_CONSTANT (std::size_t, dimensionality=NumDims)
 

Protected Member Functions

template<typename Stride_list , typename Extent_type >
void compute_strides (Stride_list &stride_list, Extent_type &extent, const general_storage_order< NumDims > &storage)
 
template<typename Reference , typename IndexList , typename TPtr >
Reference access_element (boost::type< Reference >, const IndexList &indices, TPtr base, const size_type *extents, const index *strides, const index *index_bases) const
 

Private Types

typedef associated_types_openfpm< T, boost::mpl::size_t< NumDims >, vectortypes
 

Member Typedef Documentation

◆ const_iterator

template<typename T , std::size_t NumDims, typename vector >
typedef array_iterator_openfpm<T,T const*,boost::mpl::size_t<NumDims>,vector,const_reference, boost::random_access_traversal_tag> openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::const_iterator

Definition at line 258 of file multi_array_ref_base_openfpm.hpp.

◆ const_reference

template<typename T , std::size_t NumDims, typename vector >
typedef types::const_reference openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::const_reference

Definition at line 222 of file multi_array_ref_base_openfpm.hpp.

◆ const_reverse_iterator

template<typename T , std::size_t NumDims, typename vector >
typedef ::boost::reverse_iterator<const_iterator> openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::const_reverse_iterator

Definition at line 261 of file multi_array_ref_base_openfpm.hpp.

◆ element

template<typename T , std::size_t NumDims, typename vector >
typedef types::element openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::element

Definition at line 219 of file multi_array_ref_base_openfpm.hpp.

◆ index

template<typename T , std::size_t NumDims, typename vector >
typedef types::index openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::index

Definition at line 217 of file multi_array_ref_base_openfpm.hpp.

◆ iterator

template<typename T , std::size_t NumDims, typename vector >
typedef array_iterator_openfpm<T,T*,boost::mpl::size_t<NumDims>, vector,reference, boost::random_access_traversal_tag> openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::iterator

Definition at line 255 of file multi_array_ref_base_openfpm.hpp.

◆ reference

template<typename T , std::size_t NumDims, typename vector >
typedef types::reference openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::reference

Definition at line 221 of file multi_array_ref_base_openfpm.hpp.

◆ reverse_iterator

template<typename T , std::size_t NumDims, typename vector >
typedef ::boost::reverse_iterator<iterator> openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::reverse_iterator

Definition at line 260 of file multi_array_ref_base_openfpm.hpp.

◆ size_type

template<typename T , std::size_t NumDims, typename vector >
typedef types::size_type openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::size_type

Definition at line 218 of file multi_array_ref_base_openfpm.hpp.

◆ types

template<typename T , std::size_t NumDims, typename vector >
typedef associated_types_openfpm<T,boost::mpl::size_t<NumDims>,vector > openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::types
private

Definition at line 214 of file multi_array_ref_base_openfpm.hpp.

◆ value_type

template<typename T , std::size_t NumDims, typename vector >
typedef types::value_type openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::value_type

Definition at line 220 of file multi_array_ref_base_openfpm.hpp.

Constructor & Destructor Documentation

◆ multi_array_impl_base_openfpm()

template<typename T , std::size_t NumDims, typename vector >
__device__ __host__ openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::multi_array_impl_base_openfpm ( )
inlineprotected

Definition at line 267 of file multi_array_ref_base_openfpm.hpp.

◆ ~multi_array_impl_base_openfpm()

template<typename T , std::size_t NumDims, typename vector >
__device__ __host__ openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::~multi_array_impl_base_openfpm ( )
inlineprotected

Definition at line 268 of file multi_array_ref_base_openfpm.hpp.

Member Function Documentation

◆ access_element()

template<typename T , std::size_t NumDims, typename vector >
template<typename Reference , typename IndexList , typename TPtr >
Reference openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::access_element ( boost::type< Reference >  ,
const IndexList &  indices,
TPtr  base,
const size_type *  extents,
const index *  strides,
const index *  index_bases 
) const
inlineprotected

Definition at line 341 of file multi_array_ref_base_openfpm.hpp.

◆ compute_strides()

template<typename T , std::size_t NumDims, typename vector >
template<typename Stride_list , typename Extent_type >
void openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >::compute_strides ( Stride_list &  stride_list,
Extent_type &  extent,
const general_storage_order< NumDims > &  storage 
)
inlineprotected

Definition at line 272 of file multi_array_ref_base_openfpm.hpp.


The documentation for this class was generated from the following file: