Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:24

0001 // name=vector_copy_if_test ; gcc $name.cc -std=c++11 -lstdc++ -o /tmp/$name && /tmp/$name
0002 
0003 #include <iostream>
0004 #include <vector>
0005 #include <iterator>
0006 #include <algorithm>
0007 
0008 int main()
0009 {
0010     std::vector<int> all ;
0011  
0012     std::vector<int> a = {0, 1, -2, 3, -10, -20, -30 };
0013     std::vector<int> b = {0, 100, 200, 300, -10, -20, -30 };
0014     std::vector<int> c = {0, -1, 20, 30, -10, -20, -30 };
0015 
0016     auto predicate = [](int i){return i>0;} ; 
0017 
0018     std::copy_if( a.begin(), a.end(), std::back_inserter(all), predicate ) ; 
0019     std::copy_if( b.begin(), b.end(), std::back_inserter(all), predicate ) ; 
0020     std::copy_if( c.begin(), c.end(), std::back_inserter(all), predicate ) ; 
0021 
0022     std::cout << " all.size " << all.size() << std::endl ; 
0023 
0024     std::cout << " all[ " ; 
0025     for(int i=0 ; i < int(all.size()); i++) std::cout << all[i] << " " ; 
0026     std::cout << "]" << std::endl ;     
0027 
0028     return 0 ; 
0029 }
0030   
0031 
0032