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;
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
ArgType argument_type
Definition: TransformedIterator.h:38
UnaryFunc::argument_type argument_type
Definition: TransformedIterator.h:31
UnaryFunc::result_type result_type
Definition: TransformedIterator.h:30
Definition: TransformedIterator.h:28
ResultType result_type
Definition: TransformedIterator.h:37