SHARE
TWEET

Untitled

a guest Nov 25th, 2011 87 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <boost/phoenix/core.hpp>
  2. #include <boost/phoenix/function.hpp>
  3. #include <iostream>
  4. #include <string>
  5. #include <vector>
  6. #include <algorithm>
  7.  
  8. template<typename T>
  9. struct Var
  10. {
  11.     void setMax(int i) {}
  12.     void setMin(int i) {}
  13.     int getMax() { return 0; }
  14.     int getMin() { return 0; }
  15. };
  16.  
  17. namespace impl
  18. {
  19.     template <typename T1>
  20.     void squeeze(T1 t, int i)
  21.     {
  22.         t.first.setMax(t.second.getMax() - i);
  23.         t.second.setMin(t.first.getMin() + i);
  24.     }
  25. }
  26.  
  27. BOOST_PHOENIX_ADAPT_FUNCTION(void, squeeze, impl::squeeze, 2)
  28.  
  29. int main()
  30. {
  31.     using boost::phoenix::arg_names::_1;
  32.     std::vector<std::pair<Var<int>, Var<double> > > vec;
  33.     std::for_each(vec.begin(), vec.end(), squeeze(_1, 2));
  34. }
  35.  
  36.  
  37.  
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top