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

#include <multi_array_ref.hpp>

Inheritance diagram for boost::multi_array_ref< T, NumDims >:
Collaboration diagram for boost::multi_array_ref< T, NumDims >:

Classes

struct  array_view
 
struct  const_array_view
 

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
 
typedef
super_type::storage_order_type 
storage_order_type
 
typedef super_type::index_list index_list
 
typedef super_type::size_list size_list
 
typedef types::index_range index_range
 

Public Member Functions

template<class ExtentList >
 multi_array_ref (T *base, const ExtentList &extents)
 
template<class ExtentList >
 multi_array_ref (T *base, const ExtentList &extents, const general_storage_order< NumDims > &so)
 
 multi_array_ref (T *base, const detail::multi_array::extent_gen< NumDims > &ranges)
 
 multi_array_ref (T *base, const detail::multi_array::extent_gen< NumDims > &ranges, const general_storage_order< NumDims > &so)
 
template<typename ConstMultiArray >
multi_array_refoperator= (const ConstMultiArray &other)
 
multi_array_refoperator= (const multi_array_ref &other)
 
elementorigin ()
 
elementdata ()
 
template<class IndexList >
elementoperator() (const IndexList &indices)
 
reference operator[] (index idx)
 
template<int NDims>
array_view< NDims >::type operator[] (const detail::multi_array::index_gen< NumDims, NDims > &indices)
 
iterator begin ()
 
iterator end ()
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const elementorigin () const
 
const elementdata () const
 
template<class IndexList >
const elementoperator() (const 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
 
void assign (InputIterator begin, InputIterator end)
 
disable_if< typename
boost::is_integral< BaseList >
::type, void >::type 
reindex (const BaseList &values)
 
void reindex (index value)
 
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
 
size_type num_elements () const
 
const indexindex_bases () const
 
const storage_order_typestorage_order () const
 
const elementoperator() (IndexList indices) const
 
bool operator== (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
bool operator< (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
bool operator!= (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
bool operator> (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
bool operator<= (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
bool operator>= (const const_multi_array_ref< T, NumDims, OPtr > &rhs) const
 
 BOOST_STATIC_CONSTANT (std::size_t, dimensionality=NumDims)
 

Protected Member Functions

 multi_array_ref (T *base, const storage_order_type &so, const index *index_bases, const size_type *extents)
 
void set_base_ptr (T *new_base)
 
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

Tbase_
 
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_
 

Member Typedef Documentation

template<typename T, std::size_t NumDims>
typedef super_type::const_iterator boost::multi_array_ref< T, NumDims >::const_iterator
template<typename T, std::size_t NumDims>
typedef super_type::const_reference boost::multi_array_ref< T, NumDims >::const_reference
template<typename T, std::size_t NumDims>
typedef super_type::const_reverse_iterator boost::multi_array_ref< T, NumDims >::const_reverse_iterator
template<typename T, std::size_t NumDims>
typedef super_type::difference_type boost::multi_array_ref< T, NumDims >::difference_type
template<typename T, std::size_t NumDims>
typedef super_type::element boost::multi_array_ref< T, NumDims >::element
template<typename T, std::size_t NumDims>
typedef super_type::extent_range boost::multi_array_ref< T, NumDims >::extent_range
template<typename T, std::size_t NumDims>
typedef super_type::index boost::multi_array_ref< T, NumDims >::index
template<typename T, std::size_t NumDims>
typedef super_type::index_list boost::multi_array_ref< T, NumDims >::index_list
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 super_type::iterator boost::multi_array_ref< T, NumDims >::iterator
template<typename T, std::size_t NumDims>
typedef super_type::reference boost::multi_array_ref< T, NumDims >::reference
template<typename T, std::size_t NumDims>
typedef super_type::reverse_iterator boost::multi_array_ref< T, NumDims >::reverse_iterator
template<typename T, std::size_t NumDims>
typedef super_type::size_list boost::multi_array_ref< T, NumDims >::size_list
template<typename T, std::size_t NumDims>
typedef super_type::size_type boost::multi_array_ref< T, NumDims >::size_type
template<typename T, std::size_t NumDims>
typedef super_type::storage_order_type boost::multi_array_ref< T, NumDims >::storage_order_type
template<typename T, std::size_t NumDims>
typedef super_type::value_type boost::multi_array_ref< T, NumDims >::value_type

Constructor & Destructor Documentation

template<typename T, std::size_t NumDims>
template<class ExtentList >
boost::multi_array_ref< T, NumDims >::multi_array_ref ( T base,
const ExtentList &  extents 
)
inlineexplicit
template<typename T, std::size_t NumDims>
template<class ExtentList >
boost::multi_array_ref< T, NumDims >::multi_array_ref ( T base,
const ExtentList &  extents,
const general_storage_order< NumDims > &  so 
)
inlineexplicit
template<typename T, std::size_t NumDims>
boost::multi_array_ref< T, NumDims >::multi_array_ref ( T base,
const detail::multi_array::extent_gen< NumDims > &  ranges 
)
inlineexplicit
template<typename T, std::size_t NumDims>
boost::multi_array_ref< T, NumDims >::multi_array_ref ( T base,
const detail::multi_array::extent_gen< NumDims > &  ranges,
const general_storage_order< NumDims > &  so 
)
inlineexplicit
template<typename T, std::size_t NumDims>
boost::multi_array_ref< T, NumDims >::multi_array_ref ( T 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>
const_iterator boost::multi_array_ref< T, NumDims >::begin ( void  ) const
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>
element* boost::multi_array_ref< T, NumDims >::data ( )
inline
template<typename T, std::size_t NumDims>
const element* boost::multi_array_ref< T, NumDims >::data ( ) const
inline
bool boost::const_multi_array_ref< T, NumDims, T * >::empty ( void  ) const
inlineinherited
template<typename T, std::size_t NumDims>
const_iterator boost::multi_array_ref< T, NumDims >::end ( void  ) const
inline
size_type boost::const_multi_array_ref< T, NumDims, T * >::max_size ( void  ) const
inlineinherited
size_type boost::const_multi_array_ref< T, NumDims, T * >::num_dimensions ( ) const
inlineinherited
size_type boost::const_multi_array_ref< T, NumDims, T * >::num_elements ( ) const
inlineinherited
bool boost::const_multi_array_ref< T, NumDims, T * >::operator!= ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inlineinherited
template<typename T, std::size_t NumDims>
template<class IndexList >
const element& boost::multi_array_ref< T, NumDims >::operator() ( const IndexList &  indices) const
inline
bool boost::const_multi_array_ref< T, NumDims, T * >::operator<= ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inlineinherited
bool boost::const_multi_array_ref< T, NumDims, T * >::operator> ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inlineinherited
bool boost::const_multi_array_ref< T, NumDims, T * >::operator>= ( const const_multi_array_ref< T, NumDims, OPtr > &  rhs) const
inlineinherited
template<typename T, std::size_t NumDims>
template<int NDims>
const_array_view<NDims>::type boost::multi_array_ref< T, NumDims >::operator[] ( const detail::multi_array::index_gen< NumDims, NDims > &  indices) const
inline
template<typename T, std::size_t NumDims>
const element* boost::multi_array_ref< T, NumDims >::origin ( ) const
inline
template<typename T, std::size_t NumDims>
reverse_iterator boost::multi_array_ref< T, NumDims >::rbegin ( )
inline
template<typename T, std::size_t NumDims>
const_reverse_iterator boost::multi_array_ref< T, NumDims >::rbegin ( ) const
inline
template<typename T, std::size_t NumDims>
reverse_iterator boost::multi_array_ref< T, NumDims >::rend ( )
inline
template<typename T, std::size_t NumDims>
const_reverse_iterator boost::multi_array_ref< T, NumDims >::rend ( ) const
inline
void boost::const_multi_array_ref< T, NumDims, T * >::set_base_ptr ( T new_base)
inlineprotectedinherited

Member Data Documentation

index boost::const_multi_array_ref< T, NumDims, T * >::directional_offset_
protectedinherited
size_list boost::const_multi_array_ref< T, NumDims, T * >::extent_list_
protectedinherited
index_list boost::const_multi_array_ref< T, NumDims, T * >::index_base_list_
protectedinherited
size_type boost::const_multi_array_ref< T, NumDims, T * >::num_elements_
protectedinherited
index_list boost::const_multi_array_ref< T, NumDims, T * >::stride_list_
protectedinherited

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