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

Detailed Description

template<typename T, std::size_t NumDims, typename vector, typename TPtr>
class openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >

Definition at line 34 of file multi_array_ref_openfpm.hpp.

+ Inheritance diagram for openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >:

Public Types

typedef super_type::const_reference const_reference
 
typedef super_type::const_iterator const_iterator
 
typedef T element
 
typedef size_t size_type
 
typedef super_type::index index
 
typedef general_storage_order< NumDims > storage_order_type
 
typedef openfpm::array< index, NumDims > index_list
 
- 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 ExtentType >
 const_multi_array_ref_openfpm (TPtr base, const ExtentType &extents, const general_storage_order< NumDims > &so)
 
template<class InputIterator >
void assign (InputIterator begin, InputIterator end)
 
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 element * origin () const
 
__device__ __host__ const element * data () const
 
size_type num_elements () const
 
const_iterator begin () const
 
const_iterator end () const
 
void set_base_ptr (TPtr new_base)
 
- 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)
 

Data Fields

TPtr base_
 
storage_order_type storage_
 
size_type extent_sz
 
size_type num_elements_
 
index_list stride_list_
 

Private Types

typedef detail::multi_array::multi_array_impl_base_openfpm< T, NumDims, vectorsuper_type
 
typedef boost::mpl::accumulate< vector, typenameboost::mpl::int_< 1 >, typenameboost::mpl::multiplies< typenameboost::mpl::_2, typenameboost::mpl::_1 > >::type size_ct
 

Private Member Functions

const_multi_array_ref_openfpmoperator= (const const_multi_array_ref_openfpm &other)
 
void init_multi_array_ref (const index sz)
 

Additional Inherited Members

- 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
 

Member Typedef Documentation

◆ const_iterator

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef super_type::const_iterator openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::const_iterator

Definition at line 46 of file multi_array_ref_openfpm.hpp.

◆ const_reference

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef super_type::const_reference openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::const_reference

Definition at line 45 of file multi_array_ref_openfpm.hpp.

◆ element

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef T openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::element

Definition at line 48 of file multi_array_ref_openfpm.hpp.

◆ index

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef super_type::index openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::index

Definition at line 51 of file multi_array_ref_openfpm.hpp.

◆ index_list

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef openfpm::array<index,NumDims> openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::index_list

Definition at line 103 of file multi_array_ref_openfpm.hpp.

◆ size_ct

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

Definition at line 40 of file multi_array_ref_openfpm.hpp.

◆ size_type

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef size_t openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::size_type

Definition at line 49 of file multi_array_ref_openfpm.hpp.

◆ storage_order_type

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
typedef general_storage_order<NumDims> openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::storage_order_type

Definition at line 53 of file multi_array_ref_openfpm.hpp.

◆ super_type

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

Definition at line 36 of file multi_array_ref_openfpm.hpp.

Constructor & Destructor Documentation

◆ const_multi_array_ref_openfpm()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
template<typename ExtentType >
openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::const_multi_array_ref_openfpm ( TPtr  base,
const ExtentType &  extents,
const general_storage_order< NumDims > &  so 
)
inlineexplicit

Definition at line 56 of file multi_array_ref_openfpm.hpp.

Member Function Documentation

◆ assign()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
template<class InputIterator >
void openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::assign ( InputIterator  begin,
InputIterator  end 
)
inline

Definition at line 64 of file multi_array_ref_openfpm.hpp.

◆ begin()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
const_iterator openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::begin ( ) const
inline

Definition at line 93 of file multi_array_ref_openfpm.hpp.

◆ data()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
__device__ __host__ const element * openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::data ( ) const
inline

Definition at line 89 of file multi_array_ref_openfpm.hpp.

◆ empty()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
bool openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::empty ( ) const
inline

Definition at line 85 of file multi_array_ref_openfpm.hpp.

◆ end()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
const_iterator openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::end ( ) const
inline

Definition at line 98 of file multi_array_ref_openfpm.hpp.

◆ init_multi_array_ref()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
void openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::init_multi_array_ref ( const index  sz)
inlineprivate

Definition at line 120 of file multi_array_ref_openfpm.hpp.

◆ max_size()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
size_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::max_size ( ) const
inline

Definition at line 83 of file multi_array_ref_openfpm.hpp.

◆ num_dimensions()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
size_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::num_dimensions ( ) const
inline

Definition at line 78 of file multi_array_ref_openfpm.hpp.

◆ num_elements()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
size_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::num_elements ( ) const
inline

Definition at line 91 of file multi_array_ref_openfpm.hpp.

◆ origin()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
__device__ __host__ const element * openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::origin ( ) const
inline

Definition at line 88 of file multi_array_ref_openfpm.hpp.

◆ set_base_ptr()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
void openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::set_base_ptr ( TPtr  new_base)
inline

Definition at line 106 of file multi_array_ref_openfpm.hpp.

◆ size()

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
size_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::size ( ) const
inline

Definition at line 80 of file multi_array_ref_openfpm.hpp.

◆ strides()

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

Definition at line 87 of file multi_array_ref_openfpm.hpp.

Field Documentation

◆ base_

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
TPtr openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::base_

Definition at line 109 of file multi_array_ref_openfpm.hpp.

◆ extent_sz

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
size_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::extent_sz

Definition at line 111 of file multi_array_ref_openfpm.hpp.

◆ num_elements_

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
size_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::num_elements_

Definition at line 112 of file multi_array_ref_openfpm.hpp.

◆ storage_

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
storage_order_type openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::storage_

Definition at line 110 of file multi_array_ref_openfpm.hpp.

◆ stride_list_

template<typename T , std::size_t NumDims, typename vector , typename TPtr >
index_list openfpm::const_multi_array_ref_openfpm< T, NumDims, vector, TPtr >::stride_list_

Definition at line 113 of file multi_array_ref_openfpm.hpp.


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