add adaptors::jointed

This commit is contained in:
bolero-MURAKAMI 2012-11-17 01:59:56 +09:00
parent f37e8a9088
commit e286c9bc6b
14 changed files with 907 additions and 28 deletions

View file

@ -8,7 +8,7 @@
#include <sprout/iterator/next.hpp>
#include <sprout/iterator/prev.hpp>
#include <sprout/iterator/distance.hpp>
#include <sprout/iterator/traits.hpp>
#include <sprout/iterator/type_traits/common.hpp>
#include <sprout/utility/swap.hpp>
namespace sprout {
@ -18,10 +18,7 @@ namespace sprout {
template<typename BinaryFunction, typename LIterator, typename RIterator = void>
class transform_iterator
: public std::iterator<
typename sprout::min_iterator_category<
typename std::iterator_traits<LIterator>::iterator_category,
typename std::iterator_traits<RIterator>::iterator_category
>::type,
typename sprout::common_iterator_category<LIterator, RIterator>::type,
typename std::remove_reference<
typename std::result_of<
BinaryFunction (
@ -51,10 +48,7 @@ namespace sprout {
typedef BinaryFunction functor_type;
typedef LIterator iterator_type;
typedef RIterator iterator2_type;
typedef typename sprout::min_iterator_category<
typename std::iterator_traits<LIterator>::iterator_category,
typename std::iterator_traits<RIterator>::iterator_category
>::type iterator_category;
typedef typename sprout::common_iterator_category<LIterator, RIterator>::type iterator_category;
typedef typename std::result_of<
BinaryFunction (
typename std::iterator_traits<LIterator>::reference,