CAPD RedHom Library
|
#include <capd/homAux/MultiArrayIndexer.h>
Classes | |
struct | View |
Public Types | |
typedef IndexerT | Indexer |
typedef Indexer::element::value_type | value_type |
typedef value_type | Value |
typedef Indexer::index | Index |
typedef Indexer::index_gen | IndexGen |
typedef IndexGen::template gen_type< DIM, DIM >::type | IndexGenFull |
typedef Indexer::index_range | IndexRange |
typedef Indexer::size_type | SizeType |
typedef boost::array< Index, DIM > | Coordinates |
Public Member Functions | |
MultiArrayIndexerBase (const Indexer &indexer) | |
SizeType | size () const |
boost::iterator_range< const SizeType * > | shape () const |
boost::iterator_range< const Index * > | strides () const |
SizeType | dim () const |
IndexGen | indices () const |
IndexRange | range () const |
IndexRange | range (Index b, Index e) const |
template<typename Indices > | |
Value | operator() (const Indices &indices) const |
Value | operator() (std::initializer_list< Index > indices) const |
template<typename Indices > | |
bool | isInside (const Indices &indices) const |
template<typename Indices > | |
bool | isValid (const Indices &indices) const |
template<int NDims> | |
View< NDims >::type | operator[] (const boost::detail::multi_array::index_gen< DIM, NDims > &indices) const |
template<typename Function > | |
void | forEach (Function f) const |
template<typename Ranges , typename Function > | |
void | apply (const Ranges &ranges, Function function) const |
template<typename Callback > | |
void | all (Callback cb, typename boost::result_of< Callback(Value, const Coordinates &)>::type *p=0) const |
template<typename Callback > | |
void | all (Callback cb, typename boost::result_of< Callback(Value)>::type *p=0) const |
Static Public Attributes | |
static const std::size_t | DIM = Indexer::dimensionality |
Protected Attributes | |
Indexer | _indexer |
CAPD_CLASS_LOGGER | |
typedef boost::array<Index, DIM> capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::Coordinates |
typedef Indexer::index capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::Index |
typedef IndexerT capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::Indexer |
typedef Indexer::index_gen capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::IndexGen |
typedef IndexGen::template gen_type<DIM, DIM>::type capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::IndexGenFull |
typedef Indexer::index_range capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::IndexRange |
typedef Indexer::size_type capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::SizeType |
typedef value_type capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::Value |
typedef Indexer::element::value_type capd::homAux::impl::MultiArrayIndexerBase< IndexerT >::value_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
static |