//#include #include "deep_iterator.hpp" #include "unary_function_iterator.hpp" #include "nullary_function_iterator.hpp" #include "coupling_iterator.hpp" #include "dummy_iterator.hpp" #include "constant_iterator.hpp" #include"counted_iterator.hpp" #include "state_machine_iterator.hpp" #include "reverse_range.hpp" #include "symetric_borders_range.hpp" #include "../c_algorithms.h" #include #include #include #include #include #include "append_range.hpp" #include "my_operators.hpp" //gcc -o testDeepIter testDeepIter.cxx -I /home/hugueney/Devel/import/lastBoost/ -I. -lstdc++ -O6 -Wall template class MyNumber { public: MyNumber() {} MyNumber( NumType initVal): _v(initVal) {} void times2() { _v *= 2;} void divides2() {_v /= 2;} bool operator==( const MyNumber& y) const {return _v == y._v;} operator int () const { return _v;} NumType _v; }; template< typename T> ostream& operator<<( ostream& os, const MyNumber& n){ return os< inner_cont; typedef std::vector outer_cont; typedef MyNumber MN; outer_cont ou; std::ostream_iterator outData(std::cout," "); std::ostream_iterator outMN(std::cout," "); std::ostream_iterator outString(std::cout," "); data_type index(0); for(data_type i = 0; i <3; ++i){ inner_cont in, in2, in3(2); // in2 is empty for(data_type j = 0; j <4; ++j){ in.push_back(++index); } ou.push_back(in2); ou.push_back(in); ou.push_back(in3); ou.push_back(in2); } c_copy(make_deep_range(ou), outData); cout<(), 2)), outData); cout< r(0,5); c_copy(make_coupling_range(r, make_nullary_function_iterator(boost::min_rand())),outData); cout<(0,5), make_constant_range(2,5)), outData); cout<