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

Detailed Description

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

Definition at line 23 of file multi_array_view_openfpm.hpp.

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

Data Structures

struct  array_view_openfpm
 
struct  const_array_view_openfpm
 

Public Types

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< vector, typenameboost::mpl::int_< 1 >, typenameboost::mpl::multiplies< typenameboost::mpl::_2, typenameboost::mpl::_1 > >::type size_ct
 
- Public Types inherited from openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vector >
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

template<typename OPtr >
 const_multi_array_view_openfpm (const const_multi_array_view_openfpm< T, NumDims, OPtr > &other)
 
template<class BaseList >
boost::disable_if< typenameboost::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
 
template<typename IndexList >
const element & operator() (IndexList indices) const
 
__device__ __host__ const_reference operator[] (index idx) const
 
template<int NDims>
__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
 
template<typename OPtr >
bool operator!= (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator> (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator<= (const const_multi_array_view_openfpm< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
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, vector >
 BOOST_STATIC_CONSTANT (std::size_t, dimensionality=NumDims)
 

Protected Types

typedef boost::array< index, NumDims > index_list
 

Protected Member Functions

template<typename ExtentType , typename Index >
 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, vector >
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
 

Protected Attributes

TPtr base_
 
index origin_offset_
 
size_type num_elements_
 
size_type extent
 
index_list stride_list_
 
index_list index_base_list_
 

Private Types

typedef openfpm::detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vectorsuper_type
 

Private Member Functions

const_multi_array_view_openfpmoperator= (const const_multi_array_view_openfpm &other)
 

Friends

template<typename , std::size_t , typename >
class multi_array_impl_base_openfpm
 

Member Typedef Documentation

◆ const_iterator

template<typename T , std::size_t NumDims, typename vector >
typedef super_type::const_iterator openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::const_iterator

Definition at line 29 of file multi_array_view_openfpm.hpp.

◆ const_reference

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

Definition at line 28 of file multi_array_view_openfpm.hpp.

◆ const_reverse_iterator

template<typename T , std::size_t NumDims, typename vector >
typedef super_type::const_reverse_iterator openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::const_reverse_iterator

Definition at line 30 of file multi_array_view_openfpm.hpp.

◆ difference_type

template<typename T , std::size_t NumDims, typename vector >
typedef super_type::difference_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::difference_type

Definition at line 33 of file multi_array_view_openfpm.hpp.

◆ element

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

Definition at line 31 of file multi_array_view_openfpm.hpp.

◆ extent_range

template<typename T , std::size_t NumDims, typename vector >
typedef super_type::extent_range openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::extent_range

Definition at line 35 of file multi_array_view_openfpm.hpp.

◆ index

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

Definition at line 34 of file multi_array_view_openfpm.hpp.

◆ index_list

template<typename T , std::size_t NumDims, typename vector >
typedef boost::array<index,NumDims> openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::index_list
protected

Definition at line 196 of file multi_array_view_openfpm.hpp.

◆ size_ct

template<typename T , std::size_t NumDims, typename vector >
typedef boost::mpl::accumulate<vector,typenameboost::mpl::int_<1>,typenameboost::mpl::multiplies<typenameboost::mpl::_2,typenameboost::mpl::_1>>::type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::size_ct

Definition at line 40 of file multi_array_view_openfpm.hpp.

◆ size_type

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

Definition at line 32 of file multi_array_view_openfpm.hpp.

◆ super_type

template<typename T , std::size_t NumDims, typename vector >
typedef openfpm::detail::multi_array::multi_array_impl_base_openfpm<T,NumDims,vector> openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::super_type
private

Definition at line 25 of file multi_array_view_openfpm.hpp.

◆ TPtr

template<typename T , std::size_t NumDims, typename vector >
typedef T* openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::TPtr

Definition at line 36 of file multi_array_view_openfpm.hpp.

◆ value_type

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

Definition at line 27 of file multi_array_view_openfpm.hpp.

Constructor & Destructor Documentation

◆ const_multi_array_view_openfpm() [1/2]

template<typename T , std::size_t NumDims, typename vector >
template<typename OPtr >
openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::const_multi_array_view_openfpm ( const const_multi_array_view_openfpm< T, NumDims, OPtr > &  other)
inline

Definition at line 54 of file multi_array_view_openfpm.hpp.

◆ const_multi_array_view_openfpm() [2/2]

template<typename T , std::size_t NumDims, typename vector >
template<typename ExtentType , typename Index >
openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::const_multi_array_view_openfpm ( TPtr  base,
const ExtentType  extent,
const boost::array< Index, NumDims > &  strides 
)
inlineexplicitprotected

Definition at line 180 of file multi_array_view_openfpm.hpp.

Member Function Documentation

◆ begin()

template<typename T , std::size_t NumDims, typename vector >
const_iterator openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::begin ( ) const
inline

Definition at line 133 of file multi_array_view_openfpm.hpp.

◆ empty()

template<typename T , std::size_t NumDims, typename vector >
bool openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::empty ( ) const
inline

Definition at line 90 of file multi_array_view_openfpm.hpp.

◆ index_bases()

template<typename T , std::size_t NumDims, typename vector >
__device__ __host__ const index * openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::index_bases ( ) const
inline

Definition at line 100 of file multi_array_view_openfpm.hpp.

◆ max_size()

template<typename T , std::size_t NumDims, typename vector >
size_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::max_size ( ) const
inline

Definition at line 89 of file multi_array_view_openfpm.hpp.

◆ num_dimensions()

template<typename T , std::size_t NumDims, typename vector >
size_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::num_dimensions ( ) const
inline

Definition at line 86 of file multi_array_view_openfpm.hpp.

◆ num_elements()

template<typename T , std::size_t NumDims, typename vector >
size_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::num_elements ( ) const
inline

Definition at line 98 of file multi_array_view_openfpm.hpp.

◆ operator!=()

template<typename T , std::size_t NumDims, typename vector >
template<typename OPtr >
bool openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator!= ( const const_multi_array_view_openfpm< T, NumDims, OPtr > &  rhs) const
inline

Definition at line 142 of file multi_array_view_openfpm.hpp.

◆ operator()()

template<typename T , std::size_t NumDims, typename vector >
template<typename IndexList >
const element & openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator() ( IndexList  indices) const
inline

Definition at line 105 of file multi_array_view_openfpm.hpp.

◆ operator<=()

template<typename T , std::size_t NumDims, typename vector >
template<typename OPtr >
bool openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator<= ( const const_multi_array_view_openfpm< T, NumDims, OPtr > &  rhs) const
inline

Definition at line 155 of file multi_array_view_openfpm.hpp.

◆ operator>()

template<typename T , std::size_t NumDims, typename vector >
template<typename OPtr >
bool openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator> ( const const_multi_array_view_openfpm< T, NumDims, OPtr > &  rhs) const
inline

Definition at line 148 of file multi_array_view_openfpm.hpp.

◆ operator>=()

template<typename T , std::size_t NumDims, typename vector >
template<typename OPtr >
bool openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator>= ( const const_multi_array_view_openfpm< T, NumDims, OPtr > &  rhs) const
inline

Definition at line 162 of file multi_array_view_openfpm.hpp.

◆ operator[]() [1/2]

template<typename T , std::size_t NumDims, typename vector >
template<int NDims>
__device__ __host__ const_array_view_openfpm< NDims >::type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator[] ( const boost::detail::multi_array::index_gen< NumDims, NDims > &  indices) const
inline

Definition at line 122 of file multi_array_view_openfpm.hpp.

◆ operator[]() [2/2]

template<typename T , std::size_t NumDims, typename vector >
__device__ __host__ const_reference openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::operator[] ( index  idx) const
inline

Definition at line 113 of file multi_array_view_openfpm.hpp.

◆ origin()

template<typename T , std::size_t NumDims, typename vector >
__device__ __host__ const T * openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::origin ( ) const
inline

Definition at line 96 of file multi_array_view_openfpm.hpp.

◆ reindex() [1/2]

template<typename T , std::size_t NumDims, typename vector >
template<class BaseList >
boost::disable_if< typenameboost::is_integral< BaseList >::type, void >::type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::reindex ( const BaseList &  values)
inline

Definition at line 69 of file multi_array_view_openfpm.hpp.

◆ reindex() [2/2]

template<typename T , std::size_t NumDims, typename vector >
void openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::reindex ( index  value)
inline

Definition at line 79 of file multi_array_view_openfpm.hpp.

◆ rend()

template<typename T , std::size_t NumDims, typename vector >
const_reverse_iterator openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::rend ( ) const
inline

Definition at line 137 of file multi_array_view_openfpm.hpp.

◆ size()

template<typename T , std::size_t NumDims, typename vector >
size_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::size ( ) const
inline

Definition at line 88 of file multi_array_view_openfpm.hpp.

◆ strides()

template<typename T , std::size_t NumDims, typename vector >
__device__ __host__ const index * openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::strides ( ) const
inline

Definition at line 92 of file multi_array_view_openfpm.hpp.

Friends And Related Symbol Documentation

◆ const_multi_array_view_openfpm

template<typename T , std::size_t NumDims, typename vector >
template<typename , std::size_t , typename >
friend class const_multi_array_view_openfpm
friend

Definition at line 172 of file multi_array_view_openfpm.hpp.

◆ multi_array_impl_base_openfpm

template<typename T , std::size_t NumDims, typename vector >
template<typename , std::size_t , typename >
friend class multi_array_impl_base_openfpm
friend

Definition at line 171 of file multi_array_view_openfpm.hpp.

Field Documentation

◆ base_

template<typename T , std::size_t NumDims, typename vector >
TPtr openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::base_
protected

Definition at line 198 of file multi_array_view_openfpm.hpp.

◆ extent

template<typename T , std::size_t NumDims, typename vector >
size_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::extent
protected

Definition at line 201 of file multi_array_view_openfpm.hpp.

◆ index_base_list_

template<typename T , std::size_t NumDims, typename vector >
index_list openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::index_base_list_
protected

Definition at line 203 of file multi_array_view_openfpm.hpp.

◆ num_elements_

template<typename T , std::size_t NumDims, typename vector >
size_type openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::num_elements_
protected

Definition at line 200 of file multi_array_view_openfpm.hpp.

◆ origin_offset_

template<typename T , std::size_t NumDims, typename vector >
index openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::origin_offset_
protected

Definition at line 199 of file multi_array_view_openfpm.hpp.

◆ stride_list_

template<typename T , std::size_t NumDims, typename vector >
index_list openfpm::detail::multi_array::const_multi_array_view_openfpm< T, NumDims, vector >::stride_list_
protected

Definition at line 202 of file multi_array_view_openfpm.hpp.


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