I'm curious, wouldn't fusion's binary transform algorithm work for you?
c = boost::fusion::transform(a, b, min());
Much simpler indeed! Thanks. Below is the full code.
The part with struct result is a bit strange to me!
I do not understand what Self(T, T) means.
Frédéric
#include <iostream>
#include <string>
#include
#include
#include
#include
typedef boost::fusion::vector Key;
struct min {
template <typename Sig>
struct result;
template
struct result< Self(T, T) > {
typedef typename boost::remove_reference<T>::type type;
};
template<typename T>
T operator()(const T &lhs, const T &rhs) const {
return std::min(lhs, rhs);
}
};
struct print {
template <class T>
void operator()(const T &rhs) const {
std::cout<