OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
openfpm::detail::multi_array::multi_array_view_openfpm< T, NumDims > Class Template Reference

Detailed Description

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

Definition at line 59 of file multi_array_ref_base_openfpm.hpp.

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

Data Structures

struct  array_view_openfpm
 
struct  const_array_view_openfpm
 

Public Types

typedef super_type::value_type value_type
 
typedef super_type::reference reference
 
typedef super_type::iterator iterator
 
typedef super_type::reverse_iterator reverse_iterator
 
typedef super_type::const_reference const_reference
 
typedef super_type::const_iterator const_iterator
 
typedef super_type::const_reverse_iterator const_reverse_iterator
 
typedef super_type::element element
 
typedef super_type::size_type size_type
 
typedef super_type::difference_type difference_type
 
typedef super_type::index index
 
typedef super_type::extent_range extent_range
 
- Public Types inherited from openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, T * >
typedef super_type::value_type value_type
 
typedef super_type::const_reference const_reference
 
typedef super_type::const_iterator const_iterator
 
typedef super_type::const_reverse_iterator const_reverse_iterator
 
typedef super_type::element element
 
typedef super_type::size_type size_type
 
typedef super_type::difference_type difference_type
 
typedef super_type::index index
 
typedef super_type::extent_range extent_range
 
typedef T * TPtr
 
typedef boost::mpl::accumulate< T *, typename boost::mpl::int_< 1 >, typename boost::mpl::multiplies< typename boost::mpl::_2, typename boost::mpl::_1 > >::type size_ct
 
- Public Types inherited from openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, T * >
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 >, T *, reference, boost::random_access_traversal_tag > iterator
 
typedef array_iterator_openfpm< T, T const *, boost::mpl::size_t< NumDims >, T *, 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

template<typename ConstMultiArray >
multi_array_view_openfpmoperator= (const ConstMultiArray &other)
 
multi_array_view_openfpmoperator= (const multi_array_view_openfpm &other)
 
element * origin ()
 
template<class IndexList >
element & operator() (const IndexList &indices)
 
reference operator[] (index idx)
 
iterator begin ()
 
iterator end ()
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const element * origin () const
 
template<class IndexList >
const element & operator() (const IndexList &indices) const
 
const_reference operator[] (index idx) const
 
const_iterator begin () const
 
const_iterator end () const
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
- Public Member Functions inherited from openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, T * >
 const_multi_array_view_openfpm (const const_multi_array_view_openfpm< T, NumDims, OPtr > &other)
 
boost::disable_if< typename boost::is_integral< BaseList >::type, void >::type reindex (const BaseList &values)
 
void reindex (index value)
 
size_type num_dimensions () const
 
size_type size () const
 
size_type max_size () const
 
bool empty () const
 
__device__ __host__ const index * strides () const
 
__device__ __host__ const T * origin () const
 
size_type num_elements () const
 
__device__ __host__ const index * index_bases () const
 
const element & operator() (IndexList indices) const
 
__device__ __host__ const_reference operator[] (index idx) const
 
__device__ __host__ const_array_view_openfpm< NDims >::type operator[] (const boost::detail::multi_array::index_gen< NumDims, NDims > &indices) const
 
const_iterator begin () const
 
const_reverse_iterator rend () const
 
bool operator!= (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
bool operator> (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
bool operator<= (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
bool operator>= (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
- Public Member Functions inherited from openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, T * >
 BOOST_STATIC_CONSTANT (std::size_t, dimensionality=NumDims)
 

Private Types

typedef const_multi_array_view_openfpm< T, NumDims, T * > super_type
 

Private Member Functions

template<typename ExtentList , typename Index >
 multi_array_view_openfpm (T *base, const ExtentList &extents, const openfpm::array< Index, NumDims > &strides)
 

Friends

template<typename , std::size_t >
class multi_array_impl_base
 

Additional Inherited Members

- Protected Types inherited from openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, T * >
typedef boost::array< index, NumDims > index_list
 
- Protected Member Functions inherited from openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, T * >
 const_multi_array_view_openfpm (TPtr base, const ExtentType extent, const boost::array< Index, NumDims > &strides)
 
- Protected Member Functions inherited from openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, T * >
void compute_strides (Stride_list &stride_list, Extent_type &extent, const general_storage_order< NumDims > &storage)
 
Reference access_element (boost::type< Reference >, const IndexList &indices, TPtr base, const size_type *extents, const index *strides, const index *index_bases) const
 
- Protected Attributes inherited from openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, T * >
TPtr base_
 
index origin_offset_
 
size_type num_elements_
 
size_type extent
 
index_list stride_list_
 
index_list index_base_list_
 

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