23 #ifndef NDARRAY_views_h_INCLUDED
24 #define NDARRAY_views_h_INCLUDED
30 #include <boost/fusion/include/push_back.hpp>
31 #include <boost/fusion/include/vector.hpp>
32 #include <boost/fusion/include/make_vector.hpp>
33 #include <boost/fusion/include/mpl.hpp>
83 template <
typename Seq_ = boost::fusion::vector<> >
90 template <
typename OtherSequence>
91 explicit View(OtherSequence
const & other) :
_seq(other) {}
93 template <
typename OtherSequence>
147 boost::fusion::make_vector(
index::Slice(start, stop, step))
159 template <
typename Sequence>
168 #endif // !NDARRAY_views_h_INCLUDED
View< typename boost::fusion::result_of::push_back< Sequence const, index::Full >::type > Full
The View that results from chaining an full dimension index () to this.
View< boost::fusion::vector1< index::Full > > view()
Start a view definition that includes the entire first dimension.
Slice operator()(int start, int stop, int step) const
Chain a noncontiguous slice of the next dimension to this.
View< typename boost::fusion::result_of::push_back< Sequence const, index::Range >::type > Range
The View that results from chaining a range (start,stop) to this.
Simple structure defining a contiguous range of indices.
Scalar operator()(int n) const
Chain a single element of the next dimension to this.
Range operator()(int start, int stop) const
Chain a contiguous range of the next dimension to this.
Simple structure defining a noncontiguous range of indices.
View(View< OtherSequence > const &other)
Full operator()() const
Chain the full next dimension to this.
View< typename boost::fusion::result_of::push_back< Sequence const, index::Scalar >::type > Scalar
The View that results from chaining a scalar (n) to this.
Empty structure marking a view of an entire dimension.
Seq_ Sequence
A boost::fusion sequence type.
Range(int start_, int stop_)
Structure marking a single element of a dimension.
View(OtherSequence const &other)
A template meta-sequence that defines an arbitrary view into an unspecified array.
Sequence _seq
A boost::fusion sequence of index objects.
View< typename boost::fusion::result_of::push_back< Sequence const, index::Slice >::type > Slice
The View that results from chaining a slice (start,stop,step) to this.
Slice(int start_, int stop_, int step_)