Ticket #5127: transform_iterator_test.patch
File transform_iterator_test.patch, 1.5 KB (added by , 12 years ago) |
---|
-
libs/iterator/test/transform_iterator_test.cpp
12 12 // Moved test of transform iterator into its own file. It to 13 13 // to be in iterator_adaptor_test.cpp. 14 14 15 #include <boost/assert.hpp> 15 16 #include <boost/config.hpp> 16 17 #include <algorithm> 17 18 #include <boost/iterator/transform_iterator.hpp> … … 106 107 { 107 108 //Implement result_of protocol 108 109 template <class FArgs> struct result; 109 template <class F, class T> struct result<F(T )> {typedef T type;}; 110 template <class F, class T> struct result<F(T& )> {typedef T type;}; 111 template <class F, class T> struct result<F(const T&)> {typedef T type;}; 110 template <class F, class T> struct result<const F(T )> {typedef T type;}; 111 template <class F, class T> struct result<const F(T& )> {typedef T type;}; 112 template <class F, class T> struct result<const F(const T&)> {typedef T type;}; 113 template <class F, class T> struct result<F(T )> {typedef void type;}; 114 template <class F, class T> struct result<F(T& )> {typedef void type;}; 115 template <class F, class T> struct result<F(const T&)> {typedef void type;}; 112 116 113 117 template <class T> 114 118 T operator()(const T& _arg) const {return _arg*2;} 119 template <class T> 120 void operator()(const T& _arg) { BOOST_ASSERT(0); } 115 121 }; 116 122 117 123 int