Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::const_multi_array_ref< T, NumDims, TPtr > Class Template Reference

#include <multi_array_ref.hpp>

Inheritance diagram for boost::const_multi_array_ref< T, NumDims, TPtr >:
Collaboration diagram for boost::const_multi_array_ref< T, NumDims, TPtr >:

Classes

struct  array_view
 
struct  const_array_view
 

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 general_storage_order
< NumDims > 
storage_order_type
 
typedef types::index_range index_range
 
typedef types::reference reference
 
typedef array_iterator< T, T
*, mpl::size_t< NumDims >
, reference,
boost::random_access_traversal_tag > 
iterator
 
typedef
::boost::reverse_iterator
< iterator
reverse_iterator
 

Public Member Functions

template<typename OPtr >
 const_multi_array_ref (const const_multi_array_ref< T, NumDims, OPtr > &other)
 
template<typename ExtentList >
 const_multi_array_ref (TPtr base, const ExtentList &extents)
 
template<typename ExtentList >
 const_multi_array_ref (TPtr base, const ExtentList &extents, const general_storage_order< NumDims > &so)
 
 const_multi_array_ref (TPtr base, const detail::multi_array::extent_gen< NumDims > &ranges)
 
 const_multi_array_ref (TPtr base, const detail::multi_array::extent_gen< NumDims > &ranges, const general_storage_order< NumDims > &so)
 
template<class InputIterator >
void assign (InputIterator begin, InputIterator end)
 
template<class BaseList >
disable_if< typename
boost::is_integral< BaseList >
::type, void >::type 
reindex (const BaseList &values)
 
void reindex (index value)
 
template<typename SizeList >
void reshape (const SizeList &extents)
 
size_type num_dimensions () const
 
size_type size () const
 
size_type max_size () const
 
bool empty () const
 
const size_typeshape () const
 
const indexstrides () const
 
const elementorigin () const
 
const elementdata () const
 
size_type num_elements () const
 
const indexindex_bases () const
 
const storage_order_typestorage_order () const
 
template<typename IndexList >
const elementoperator() (IndexList indices) const
 
const_reference operator[] (index idx) const
 
template<int NDims>
const_array_view< NDims >::type operator[] (const detail::multi_array::index_gen< NumDims, NDims > &indices) const
 
const_iterator begin () const
 
const_iterator end () const
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
template<typename OPtr >
bool operator== (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator< (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator!= (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator> (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator<= (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
template<typename OPtr >
bool operator>= (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
 BOOST_STATIC_CONSTANT (std::size_t, dimensionality=NumDims)
 

Protected Types

typedef boost::array
< size_type, NumDims > 
size_list
 
typedef boost::array< index,
NumDims > 
index_list
 

Protected Member Functions

void set_base_ptr (TPtr new_base)
 
 const_multi_array_ref (TPtr base, const storage_order_type &so, const index *index_bases, const size_type *extents)
 
template<class InputIterator >
void init_multi_array_ref (InputIterator extents_iter)
 
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
 
template<typename StrideList , typename ExtentList >
void compute_strides (StrideList &stride_list, ExtentList &extent_list, const general_storage_order< NumDims > &storage)
 
template<typename StrideList , typename ExtentList , typename BaseList >
index calculate_origin_offset (const StrideList &stride_list, const ExtentList &extent_list, const general_storage_order< NumDims > &storage, const BaseList &index_base_list)
 
template<typename StrideList , typename ExtentList >
index calculate_descending_dimension_offset (const StrideList &stride_list, const ExtentList &extent_list, const general_storage_order< NumDims > &storage)
 
template<typename StrideList , typename BaseList >
index calculate_indexing_offset (const StrideList &stride_list, const BaseList &index_base_list)
 
template<typename ArrayRef , int NDims, typename TPtr >
ArrayRef generate_array_view (boost::type< ArrayRef >, const boost::detail::multi_array::index_gen< NumDims, NDims > &indices, const size_type *extents, const index *strides, const index *index_bases, TPtr base) const
 

Protected Attributes

TPtr base_
 
storage_order_type storage_
 
size_list extent_list_
 
index_list stride_list_
 
index_list index_base_list_
 
index origin_offset_
 
index directional_offset_
 
size_type num_elements_
 

Friends

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

Member Typedef Documentation

template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::const_iterator boost::const_multi_array_ref< T, NumDims, TPtr >::const_iterator
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::const_reference boost::const_multi_array_ref< T, NumDims, TPtr >::const_reference
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::const_reverse_iterator boost::const_multi_array_ref< T, NumDims, TPtr >::const_reverse_iterator
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::difference_type boost::const_multi_array_ref< T, NumDims, TPtr >::difference_type
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::element boost::const_multi_array_ref< T, NumDims, TPtr >::element
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::extent_range boost::const_multi_array_ref< T, NumDims, TPtr >::extent_range
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::index boost::const_multi_array_ref< T, NumDims, TPtr >::index
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef boost::array<index,NumDims> boost::const_multi_array_ref< T, NumDims, TPtr >::index_list
protected
template<typename T , std::size_t NumDims>
typedef types::index_range boost::detail::multi_array::multi_array_impl_base< T, NumDims >::index_range
inherited
template<typename T , std::size_t NumDims>
typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference, boost::random_access_traversal_tag> boost::detail::multi_array::multi_array_impl_base< T, NumDims >::iterator
inherited
template<typename T , std::size_t NumDims>
typedef types::reference boost::detail::multi_array::multi_array_impl_base< T, NumDims >::reference
inherited
template<typename T , std::size_t NumDims>
typedef ::boost::reverse_iterator<iterator> boost::detail::multi_array::multi_array_impl_base< T, NumDims >::reverse_iterator
inherited
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef boost::array<size_type,NumDims> boost::const_multi_array_ref< T, NumDims, TPtr >::size_list
protected
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::size_type boost::const_multi_array_ref< T, NumDims, TPtr >::size_type
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef general_storage_order<NumDims> boost::const_multi_array_ref< T, NumDims, TPtr >::storage_order_type
template<typename T, std::size_t NumDims, typename TPtr = const T*>
typedef super_type::value_type boost::const_multi_array_ref< T, NumDims, TPtr >::value_type

Constructor & Destructor Documentation

template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
boost::const_multi_array_ref< T, NumDims, TPtr >::const_multi_array_ref ( const const_multi_array_ref< T, NumDims, OPtr > &  other)
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename ExtentList >
boost::const_multi_array_ref< T, NumDims, TPtr >::const_multi_array_ref ( TPtr  base,
const ExtentList &  extents 
)
inlineexplicit
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename ExtentList >
boost::const_multi_array_ref< T, NumDims, TPtr >::const_multi_array_ref ( TPtr  base,
const ExtentList &  extents,
const general_storage_order< NumDims > &  so 
)
inlineexplicit
template<typename T, std::size_t NumDims, typename TPtr = const T*>
boost::const_multi_array_ref< T, NumDims, TPtr >::const_multi_array_ref ( TPtr  base,
const detail::multi_array::extent_gen< NumDims > &  ranges 
)
inlineexplicit
template<typename T, std::size_t NumDims, typename TPtr = const T*>
boost::const_multi_array_ref< T, NumDims, TPtr >::const_multi_array_ref ( TPtr  base,
const detail::multi_array::extent_gen< NumDims > &  ranges,
const general_storage_order< NumDims > &  so 
)
inlineexplicit
template<typename T, std::size_t NumDims, typename TPtr = const T*>
boost::const_multi_array_ref< T, NumDims, TPtr >::const_multi_array_ref ( TPtr  base,
const storage_order_type so,
const index index_bases,
const size_type extents 
)
inlineexplicitprotected

Member Function Documentation

template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<class InputIterator >
void boost::const_multi_array_ref< T, NumDims, TPtr >::assign ( InputIterator  begin,
InputIterator  end 
)
inline
template<typename T , std::size_t NumDims>
boost::detail::multi_array::multi_array_impl_base< T, NumDims >::BOOST_STATIC_CONSTANT ( std::size_t  ,
dimensionality  = NumDims 
)
inherited
template<typename T , std::size_t NumDims>
template<typename StrideList , typename ExtentList >
index boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_descending_dimension_offset ( const StrideList &  stride_list,
const ExtentList &  extent_list,
const general_storage_order< NumDims > &  storage 
)
inlineprotectedinherited
template<typename T , std::size_t NumDims>
template<typename StrideList , typename BaseList >
index boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_indexing_offset ( const StrideList &  stride_list,
const BaseList &  index_base_list 
)
inlineprotectedinherited
template<typename T , std::size_t NumDims>
template<typename StrideList , typename ExtentList , typename BaseList >
index boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_origin_offset ( const StrideList &  stride_list,
const ExtentList &  extent_list,
const general_storage_order< NumDims > &  storage,
const BaseList &  index_base_list 
)
inlineprotectedinherited
template<typename T , std::size_t NumDims>
template<typename StrideList , typename ExtentList >
void boost::detail::multi_array::multi_array_impl_base< T, NumDims >::compute_strides ( StrideList &  stride_list,
ExtentList &  extent_list,
const general_storage_order< NumDims > &  storage 
)
inlineprotectedinherited
template<typename T, std::size_t NumDims, typename TPtr = const T*>
const element* boost::const_multi_array_ref< T, NumDims, TPtr >::data ( ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
bool boost::const_multi_array_ref< T, NumDims, TPtr >::empty ( void  ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<class InputIterator >
void boost::const_multi_array_ref< T, NumDims, TPtr >::init_multi_array_ref ( InputIterator  extents_iter)
inlineprotected
template<typename T, std::size_t NumDims, typename TPtr = const T*>
size_type boost::const_multi_array_ref< T, NumDims, TPtr >::max_size ( void  ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
size_type boost::const_multi_array_ref< T, NumDims, TPtr >::num_dimensions ( ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
size_type boost::const_multi_array_ref< T, NumDims, TPtr >::num_elements ( ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
bool boost::const_multi_array_ref< T, NumDims, TPtr >::operator!= ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename IndexList >
const element& boost::const_multi_array_ref< T, NumDims, TPtr >::operator() ( IndexList  indices) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
bool boost::const_multi_array_ref< T, NumDims, TPtr >::operator< ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
bool boost::const_multi_array_ref< T, NumDims, TPtr >::operator<= ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
bool boost::const_multi_array_ref< T, NumDims, TPtr >::operator== ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
bool boost::const_multi_array_ref< T, NumDims, TPtr >::operator> ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename OPtr >
bool boost::const_multi_array_ref< T, NumDims, TPtr >::operator>= ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
const_reference boost::const_multi_array_ref< T, NumDims, TPtr >::operator[] ( index  idx) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<int NDims>
const_array_view<NDims>::type boost::const_multi_array_ref< T, NumDims, TPtr >::operator[] ( const detail::multi_array::index_gen< NumDims, NDims > &  indices) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
const_reverse_iterator boost::const_multi_array_ref< T, NumDims, TPtr >::rbegin ( ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<class BaseList >
disable_if<typename boost::is_integral<BaseList>::type,void >::type boost::const_multi_array_ref< T, NumDims, TPtr >::reindex ( const BaseList &  values)
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
void boost::const_multi_array_ref< T, NumDims, TPtr >::reindex ( index  value)
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
const_reverse_iterator boost::const_multi_array_ref< T, NumDims, TPtr >::rend ( ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename SizeList >
void boost::const_multi_array_ref< T, NumDims, TPtr >::reshape ( const SizeList &  extents)
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
void boost::const_multi_array_ref< T, NumDims, TPtr >::set_base_ptr ( TPtr  new_base)
inlineprotected
template<typename T, std::size_t NumDims, typename TPtr = const T*>
size_type boost::const_multi_array_ref< T, NumDims, TPtr >::size ( void  ) const
inline
template<typename T, std::size_t NumDims, typename TPtr = const T*>
const storage_order_type& boost::const_multi_array_ref< T, NumDims, TPtr >::storage_order ( ) const
inline

Friends And Related Function Documentation

template<typename T, std::size_t NumDims, typename TPtr = const T*>
template<typename , std::size_t , typename >
friend class const_multi_array_ref
friend

Member Data Documentation

template<typename T, std::size_t NumDims, typename TPtr = const T*>
index boost::const_multi_array_ref< T, NumDims, TPtr >::directional_offset_
protected
template<typename T, std::size_t NumDims, typename TPtr = const T*>
index boost::const_multi_array_ref< T, NumDims, TPtr >::origin_offset_
protected

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