16 #ifndef polybori_iterators_TransformedIterator_h_
17 #define polybori_iterators_TransformedIterator_h_
22 #include <boost/iterator/iterator_facade.hpp>
27 template <
class UnaryFunc>
34 template <
class ResultType,
class ArgType>
47 template <
class IteratorType,
class OperatorType>
49 public boost::iterator_facade<
50 TransformedIterator<IteratorType, OperatorType>,
51 typename UnaryOperatorTraits<OperatorType>::result_type,
52 std::forward_iterator_tag,
53 typename UnaryOperatorTraits<OperatorType>::result_type > {
55 typedef IteratorType iterator;
64 m_iter(iter), m_func(func) { }
74 bool equal(
const self& rhs)
const {
return m_iter == rhs.m_iter; }
78 const operator_type& m_func;