4 #ifndef CPPQEDCORE_UTILS_VECTORFROMMATRIXSLICEITERATOR_H_INCLUDED
5 #define CPPQEDCORE_UTILS_VECTORFROMMATRIXSLICEITERATOR_H_INCLUDED
7 #include "VectorFromMatrixSliceIteratorFwd.h"
32 struct Left : boost::mpl::false_ {};
33 struct Right : boost::mpl:: true_ {};
46 template<
int RANK,
typename S>
50 boost::mpl::int_<RANK>,
66 template<
typename S,
typename A>
71 template<
typename S,
typename A>
75 template<
typename S,
typename A>
77 begin(
const A& array );
79 template<
typename S,
typename A>
81 end (
const A& array );
83 template<
typename S,
typename A>
84 const boost::iterator_range<Iterator<Rank<A>::value,S,
true> >
85 fullRange(
const A& array );
87 template<
typename S,
typename A>
88 const boost::iterator_range<Iterator<Rank<A>::value,S,
false> >
89 fullRange( A& array );
94 #define RETURN_type1(IS_CONST) Iterator<Rank<A>::value,V_S,IS_CONST>
95 #define ADDITIONAL_PARAMETER
96 #define ADDITIONAL_ARGUMENT
98 #include "details_BlitzArraySliceIteratorReentrant.h"
117 #endif // CPPQEDCORE_UTILS_VECTORFROMMATRIXSLICEITERATOR_H_INCLUDED
Indicates composition from left.
Definition of blitzplusplus::basi::Iterator together with its helpers.
Indicates composition from right.
Metafunction returning the appropriate set of retained index positions.
const Iterator< Rank< A >::value, S, false > begin(A &array)
Same as begin but here it returns an Iterator instance.
Comprises our own extensions to Blitz++.