#include #include #include #include #include "sorting_view.hpp" using namespace boost; //to compile on Windows cl sortingview.cpp /EHsc /GR int c_array[] = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; int main() { // c array std::vector view = sorting_view(c_array,c_array+sizeof(c_array)/sizeof(int),iterator_greater()); std::cout<<"This is view vector for indirect iterations \n"; for (int & e : view) std::cout< s = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; view = sorting_view(s.begin(),s.end()); // bt default compare function // view = sorting_view(s.begin(),s.end(),iterator_less::iterator>()); std::cout<<"This is view on sorted std::array\n"; for(int i = 0; i < view.size(); ++i) std::cout< v = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; view = sorting_view(v.begin(),v.end(), iterator_greater::iterator>()); std::cout<<"This is view on sorted std::vector\n"; for(int i = 0; i < view.size(); ++i) std::cout< d = {"F", "H", "E", "C", "I", "G", "B", "J", "A", "D"}; view = sorting_view(d.begin(),d.end(),iterator_less::iterator>()); std::cout<<"This is view on sorted std::deque\n"; for(int i = 0; i < view.size(); ++i) std::cout< via apply_view template function\n"; for (std::string & e : d) std::cout<\n"; for(int i = 0; i < view.size(); ++i) std::cout< 0 1 2 3 4 5 6 7 8 9 This is view on sorted std::vector 9 8 7 6 5 4 3 2 1 0 This is view on sorted std::deque A B C D E F G H I J This actually sorted std::deque A B C D E F G H I J This is view on partially sorted std::vector 2 4 5 7 8 6 1 9 0 3 */