Truncate numbers to fall between 0 and 255 inclusive : replace if « STL Algorithms Modifying sequence operations « C++






Truncate numbers to fall between 0 and 255 inclusive

  
#include <algorithm>
#include <functional>
#include <iomanip>
#include <numeric>
#include <string>
#include <vector>
#include <iostream>

using namespace std;

template <class T>
void print(T& c){
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
      std::cout << *i << endl;
   }
}


bool in_string( char c, const string target ){ 
   return target.find( c ) != string::npos; 
}

int main( ){
   vector<float> v( 5, 1 );
   partial_sum( v.begin(), v.end(), v.begin() );
   print( v);

   transform( v.begin(), v.end(), v.begin(),bind1st( multiplies<float>(), 100 ) );
   v.assign( v.size(), 100 );
   v[0] = -10;

   replace_if( v.begin(), v.end(),bind2nd( greater<float>(), 255 ), 255 );
   replace_if( v.begin(), v.end(), bind2nd( less<float>(), 0 ), 0 );
   print( v);
}
  
    
  








Related examples in the same category

1.std::replace_if with predicate
2.Replace value equal to 70 with 42 in a deque