fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <functional>
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. template <typename A, typename B>
  8. auto map( const std::vector<A> & source, const B & b )
  9. -> std::vector< decltype( b(source[0]) ) >
  10. {
  11. auto result = std::vector< decltype( b(source[0]) ) >();
  12. for( auto & n: source)
  13. {
  14. result.push_back( b(n) );
  15. }
  16. return result;
  17. }
  18.  
  19. float convert( int num )
  20. {
  21. return num;
  22. }
  23.  
  24. int main() {
  25.  
  26. std::vector<int> ints = {1,2,3,4,5};
  27. std::vector<float> floats = map( ints, []( int v) -> float { return v;} );
  28. for( auto & n: floats)
  29. {
  30. std::cout << n << std::endl;
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5304KB
stdin
Standard input is empty
stdout
1
2
3
4
5