10 #ifndef __stir_FullArrayIterator__H__ 11 #define __stir_FullArrayIterator__H__ 25 #include "boost/iterator/iterator_adaptor.hpp" 47 template <
typename topleveliterT,
typename restiterT,
typename elemT,
typename _Ref,
typename _Ptr>
48 class FullArrayIterator
51 typedef std::forward_iterator_tag iterator_category;
52 typedef std::ptrdiff_t difference_type;
54 typedef elemT value_type;
55 typedef _Ref reference;
60 inline FullArrayIterator();
63 inline FullArrayIterator(
const FullArrayIterator&);
66 inline FullArrayIterator(
const topleveliterT& top_level_iter,
67 const topleveliterT& last_top_level_iter,
68 const restiterT& rest_iter,
69 const restiterT& last_rest_iter);
75 template <
typename othertopleveliterT,
typename otherrestiterT,
typename _otherRef,
typename _otherPtr>
77 typename boost::enable_if_convertible<othertopleveliterT, topleveliterT>::type* = 0,
78 typename boost::enable_if_convertible<otherrestiterT, restiterT>::type* = 0)
79 : current_top_level_iter(other.current_top_level_iter),
80 last_top_level_iter(other.last_top_level_iter),
81 current_rest_iter(other.current_rest_iter),
82 last_rest_iter(other.last_rest_iter)
114 inline reference operator*()
const;
117 inline pointer operator->()
const;
119 #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS 124 template <
class,
class,
class,
class,
class>
129 topleveliterT current_top_level_iter;
132 topleveliterT last_top_level_iter;
135 restiterT current_rest_iter;
138 restiterT last_rest_iter;
Class FullArrayIterator implements (forward) iterators that go through all elements of an Array...
Definition: Array.h:46
FullArrayIterator(FullArrayIterator< othertopleveliterT, otherrestiterT, elemT, _otherRef, _otherPtr > const &other, typename boost::enable_if_convertible< othertopleveliterT, topleveliterT >::type *=0, typename boost::enable_if_convertible< otherrestiterT, restiterT >::type *=0)
some magic trickery to be able to assign iterators to const iterators etc, but not to incompatible ty...
Definition: FullArrayIterator.h:76
inline implementations for stir::FullArrayIterator.
basic configuration include file