#include <multi_array.hpp>
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::const_reference | const_reference |
typedef super_type::iterator | iterator |
typedef super_type::const_iterator | const_iterator |
typedef super_type::reverse_iterator | reverse_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 types::index_range | index_range |
Public Member Functions | |
multi_array () | |
template<class ExtentList > | |
multi_array (ExtentList const &extents) | |
template<class ExtentList > | |
multi_array (ExtentList const &extents, const general_storage_order< NumDims > &so) | |
template<class ExtentList > | |
multi_array (ExtentList const &extents, const general_storage_order< NumDims > &so, Allocator const &alloc) | |
multi_array (const detail::multi_array::extent_gen< NumDims > &ranges) | |
multi_array (const detail::multi_array::extent_gen< NumDims > &ranges, const general_storage_order< NumDims > &so) | |
multi_array (const detail::multi_array::extent_gen< NumDims > &ranges, const general_storage_order< NumDims > &so, Allocator const &alloc) | |
multi_array (const multi_array &rhs) | |
template<typename OPtr > | |
multi_array (const const_multi_array_ref< T, NumDims, OPtr > &rhs, const general_storage_order< NumDims > &so=c_storage_order()) | |
template<typename OPtr > | |
multi_array (const detail::multi_array::const_sub_array< T, NumDims, OPtr > &rhs, const general_storage_order< NumDims > &so=c_storage_order()) | |
template<typename OPtr > | |
multi_array (const detail::multi_array::const_multi_array_view< T, NumDims, OPtr > &rhs, const general_storage_order< NumDims > &so=c_storage_order()) | |
multi_array (const multi_array_ref< T, NumDims > &rhs) | |
multi_array (const multi_array_ref< T, NumDims > &rhs, const general_storage_order< NumDims > &so) | |
multi_array (const detail::multi_array::sub_array< T, NumDims > &rhs) | |
multi_array (const detail::multi_array::sub_array< T, NumDims > &rhs, const general_storage_order< NumDims > &so) | |
multi_array (const detail::multi_array::multi_array_view< T, NumDims > &rhs) | |
multi_array (const detail::multi_array::multi_array_view< T, NumDims > &rhs, const general_storage_order< NumDims > &so) | |
template<typename ConstMultiArray > | |
multi_array & | operator= (const ConstMultiArray &other) |
multi_array & | operator= (const multi_array &other) |
template<typename ExtentList > | |
multi_array & | resize (const ExtentList &extents) |
multi_array & | resize (const detail::multi_array::extent_gen< NumDims > &ranges) |
~multi_array () | |
element * | origin () |
const element * | origin () const |
element * | data () |
const element * | data () const |
template<class IndexList > | |
element & | operator() (const IndexList &indices) |
template<class IndexList > | |
const element & | operator() (const IndexList &indices) const |
const element & | operator() (IndexList indices) const |
reference | operator[] (index idx) |
template<int NDims> | |
array_view< NDims >::type | operator[] (const detail::multi_array::index_gen< NumDims, NDims > &indices) |
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 |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
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_type * | shape () const |
const index * | strides () const |
size_type | num_elements () const |
const index * | index_bases () const |
const storage_order_type & | storage_order () 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 | |
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 | |
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_ |
typedef super_type::const_iterator boost::multi_array< T, NumDims, Allocator >::const_iterator |
typedef super_type::const_reference boost::multi_array< T, NumDims, Allocator >::const_reference |
typedef super_type::const_reverse_iterator boost::multi_array< T, NumDims, Allocator >::const_reverse_iterator |
typedef super_type::difference_type boost::multi_array< T, NumDims, Allocator >::difference_type |
typedef super_type::element boost::multi_array< T, NumDims, Allocator >::element |
typedef super_type::extent_range boost::multi_array< T, NumDims, Allocator >::extent_range |
typedef super_type::index boost::multi_array< T, NumDims, Allocator >::index |
|
inherited |
typedef super_type::iterator boost::multi_array< T, NumDims, Allocator >::iterator |
typedef super_type::reference boost::multi_array< T, NumDims, Allocator >::reference |
typedef super_type::reverse_iterator boost::multi_array< T, NumDims, Allocator >::reverse_iterator |
typedef super_type::size_type boost::multi_array< T, NumDims, Allocator >::size_type |
|
inherited |
typedef super_type::value_type boost::multi_array< T, NumDims, Allocator >::value_type |
|
inlineexplicit |
|
inlineexplicit |
References boost::function_requires().
|
inlineexplicit |
References boost::function_requires().
|
inlineexplicit |
References boost::function_requires().
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
References boost::detail::multi_array::copy_n().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectedinherited |
References BOOST_ASSERT, boost::function_requires(), boost::multiprecision::backends::i, boost::ignore_unused_variable_warning(), boost::n, and boost::asio::offset.
Referenced by boost::detail::multi_array::const_sub_array< T, NumDims, T * >::operator()(), boost::detail::multi_array::const_multi_array_view< T, NumDims, T * >::operator()(), boost::const_multi_array_ref< T, NumDims, T * >::operator()(), boost::detail::multi_array::sub_array< T, NumDims >::operator()(), boost::detail::multi_array::multi_array_view< T, NumDims >::operator()(), and boost::multi_array_ref< T, NumDims >::operator()().
|
inlineinherited |
|
inlineinherited |
References boost::const_multi_array_ref< T, NumDims, T * >::index_bases(), boost::multi_array_ref< T, NumDims >::origin(), boost::const_multi_array_ref< T, NumDims, T * >::shape(), and boost::const_multi_array_ref< T, NumDims, T * >::strides().
Referenced by boost::multi_array< T, NumDims, Allocator >::multi_array(), boost::multi_array_ref< T, NumDims >::operator=(), and boost::multi_array_ref< T, NumDims >::rend().
|
inlineinherited |
|
inherited |
|
inlineprotectedinherited |
References boost::general_storage_order< NumDims >::all_dims_ascending(), boost::general_storage_order< NumDims >::ascending(), boost::n, and boost::asio::offset.
Referenced by boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_origin_offset(), and boost::const_multi_array_ref< T, NumDims, T * >::init_multi_array_ref().
|
inlineprotectedinherited |
|
inlineprotectedinherited |
References boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_descending_dimension_offset(), and boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_indexing_offset().
Referenced by boost::const_multi_array_ref< T, NumDims, T * >::init_multi_array_ref(), boost::const_multi_array_ref< T, NumDims, T * >::reindex(), and boost::const_multi_array_ref< T, NumDims, T * >::reshape().
|
inlineprotectedinherited |
References boost::general_storage_order< NumDims >::ascending(), boost::n, boost::general_storage_order< NumDims >::ordering(), and boost::adaptors::stride().
Referenced by boost::const_multi_array_ref< T, NumDims, T * >::init_multi_array_ref(), and boost::const_multi_array_ref< T, NumDims, T * >::reshape().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::const_multi_array_ref< T, NumDims, T * >::index_bases(), boost::multi_array_ref< T, NumDims >::origin(), boost::const_multi_array_ref< T, NumDims, T * >::shape(), and boost::const_multi_array_ref< T, NumDims, T * >::strides().
Referenced by boost::multi_array< T, NumDims, Allocator >::multi_array(), boost::multi_array_ref< T, NumDims >::operator=(), and boost::multi_array_ref< T, NumDims >::rbegin().
|
inlineinherited |
|
inlineprotectedinherited |
References BOOST_ASSERT, boost::iostreams::bzip2::finish, boost::python::len(), boost::n, boost::asio::offset, and boost::adaptors::stride().
Referenced by boost::detail::multi_array::const_sub_array< T, NumDims, T * >::operator[](), boost::detail::multi_array::const_multi_array_view< T, NumDims, T * >::operator[](), boost::const_multi_array_ref< T, NumDims, T * >::operator[](), boost::detail::multi_array::sub_array< T, NumDims >::operator[](), boost::detail::multi_array::multi_array_view< T, NumDims >::operator[](), and boost::multi_array_ref< T, NumDims >::operator[]().
|
inlineinherited |
References boost::array< T, N >::data(), and boost::const_multi_array_ref< T, NumDims, TPtr >::index_base_list_.
Referenced by boost::multi_array_ref< T, NumDims >::begin(), boost::multi_array_ref< T, NumDims >::end(), boost::multi_array_ref< T, NumDims >::operator()(), and boost::multi_array_ref< T, NumDims >::operator[]().
|
inlineprotectedinherited |
References boost::fusion::accumulate(), boost::array< T, N >::begin(), boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_descending_dimension_offset(), boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_origin_offset(), boost::detail::multi_array::multi_array_impl_base< T, NumDims >::compute_strides(), boost::detail::multi_array::copy_n(), boost::array< T, N >::end(), and boost::const_multi_array_ref< T, NumDims, TPtr >::num_dimensions().
|
inlineinherited |
|
inlineinherited |
Referenced by boost::multi_array_ref< T, NumDims >::operator=().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::detail::multi_array::multi_array_impl_base< T, NumDims >::access_element(), boost::function_requires(), boost::const_multi_array_ref< T, NumDims, TPtr >::index_bases(), boost::const_multi_array_ref< T, NumDims, TPtr >::origin(), boost::const_multi_array_ref< T, NumDims, TPtr >::shape(), and boost::const_multi_array_ref< T, NumDims, TPtr >::strides().
Referenced by boost::multi_array_ref< T, NumDims >::operator()().
|
inlineinherited |
References boost::detail::multi_array::multi_array_impl_base< T, NumDims >::access_element(), boost::function_requires(), boost::const_multi_array_ref< T, NumDims, T * >::index_bases(), boost::multi_array_ref< T, NumDims >::origin(), boost::const_multi_array_ref< T, NumDims, T * >::shape(), and boost::const_multi_array_ref< T, NumDims, T * >::strides().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::detail::multi_array::multi_array_impl_base< T, NumDims >::generate_array_view(), boost::const_multi_array_ref< T, NumDims, T * >::index_bases(), boost::multi_array_ref< T, NumDims >::origin(), boost::const_multi_array_ref< T, NumDims, T * >::shape(), and boost::const_multi_array_ref< T, NumDims, T * >::strides().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::const_multi_array_ref< T, NumDims, T * >::base_, and boost::const_multi_array_ref< T, NumDims, T * >::origin_offset_.
Referenced by boost::multi_array_ref< T, NumDims >::begin(), boost::multi_array_ref< T, NumDims >::end(), boost::multi_array_ref< T, NumDims >::operator()(), and boost::multi_array_ref< T, NumDims >::operator[]().
|
inlineinherited |
|
inlineinherited |
References boost::multi_array_ref< T, NumDims >::end().
|
inlineinherited |
|
inlineinherited |
References boost::array< T, N >::begin(), boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_origin_offset(), boost::detail::multi_array::copy_n(), boost::const_multi_array_ref< T, NumDims, TPtr >::extent_list_, boost::function_requires(), boost::const_multi_array_ref< T, NumDims, TPtr >::index_base_list_, boost::const_multi_array_ref< T, NumDims, TPtr >::num_dimensions(), boost::const_multi_array_ref< T, NumDims, TPtr >::origin_offset_, boost::const_multi_array_ref< T, NumDims, TPtr >::storage_, and boost::const_multi_array_ref< T, NumDims, TPtr >::stride_list_.
|
inlineinherited |
References boost::array< T, N >::assign(), boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_origin_offset(), boost::const_multi_array_ref< T, NumDims, TPtr >::extent_list_, boost::const_multi_array_ref< T, NumDims, TPtr >::index_base_list_, boost::const_multi_array_ref< T, NumDims, TPtr >::origin_offset_, boost::const_multi_array_ref< T, NumDims, TPtr >::storage_, and boost::const_multi_array_ref< T, NumDims, TPtr >::stride_list_.
|
inlineinherited |
References boost::multi_array_ref< T, NumDims >::begin().
|
inlineinherited |
|
inlineinherited |
References boost::fusion::accumulate(), boost::array< T, N >::begin(), BOOST_ASSERT, boost::detail::multi_array::multi_array_impl_base< T, NumDims >::calculate_origin_offset(), boost::detail::multi_array::multi_array_impl_base< T, NumDims >::compute_strides(), boost::filesystem::detail::copy(), boost::const_multi_array_ref< T, NumDims, TPtr >::extent_list_, boost::function_requires(), boost::const_multi_array_ref< T, NumDims, TPtr >::index_base_list_, boost::const_multi_array_ref< T, NumDims, TPtr >::num_elements_, boost::const_multi_array_ref< T, NumDims, TPtr >::origin_offset_, boost::const_multi_array_ref< T, NumDims, TPtr >::storage_, and boost::const_multi_array_ref< T, NumDims, TPtr >::stride_list_.
|
inline |
References boost::function_requires(), and boost::multiprecision::backends::i.
|
inline |
References boost::const_multi_array_ref< T, NumDims, T * >::base_, boost::array< T, N >::begin(), BOOST_NESTED_TEMPLATE, boost::const_multi_array_ref< T, NumDims, T * >::directional_offset_, boost::array< T, N >::end(), boost::const_multi_array_ref< T, NumDims, T * >::extent_list_, boost::const_multi_array_ref< T, NumDims, T * >::index_base_list_, boost::accumulators::extract::min, boost::const_multi_array_ref< T, NumDims, T * >::num_elements_, boost::const_multi_array_ref< T, NumDims, T * >::origin_offset_, boost::const_multi_array_ref< T, NumDims, T * >::storage_, boost::const_multi_array_ref< T, NumDims, T * >::storage_order(), boost::const_multi_array_ref< T, NumDims, T * >::stride_list_, boost::swap, and boost::fusion::transform().
|
inlineprotectedinherited |
|
inlineinherited |
References boost::array< T, N >::data(), and boost::const_multi_array_ref< T, NumDims, TPtr >::extent_list_.
Referenced by boost::multi_array_ref< T, NumDims >::begin(), boost::multi_array_ref< T, NumDims >::end(), boost::multi_array_ref< T, NumDims >::operator()(), boost::multi_array_ref< T, NumDims >::operator=(), and boost::multi_array_ref< T, NumDims >::operator[]().
|
inlineinherited |
|
inlineinherited |
References boost::const_multi_array_ref< T, NumDims, TPtr >::storage_.
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().
|
inlineinherited |
References boost::array< T, N >::data(), and boost::const_multi_array_ref< T, NumDims, TPtr >::stride_list_.
Referenced by boost::multi_array_ref< T, NumDims >::begin(), boost::multi_array_ref< T, NumDims >::end(), boost::multi_array_ref< T, NumDims >::operator()(), and boost::multi_array_ref< T, NumDims >::operator[]().
|
protectedinherited |
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().
|
protectedinherited |
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().
|
protectedinherited |
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().
|
protectedinherited |
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().
|
protectedinherited |
|
protectedinherited |
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().
|
protectedinherited |
Referenced by boost::multi_array< T, NumDims, Allocator >::resize().