Giving the following
code:
#include
<boost/mpl/integral_c.hpp>
namespace
mpl = boost::mpl;
template
< unsigned U, int I = 1 >
struct T :
mpl::integral_c< unsigned, U > {
BOOST_STATIC_CONST(int, N = I);
};
and two vectors of
type T of varying lengths:
typedef
mpl::vector < T<0>, T<1>, T<2> >
t1;
typedef
mpl::vector < T<2, 2>, T<0, 0> >
t2;
How would you create
a joint view of t1 and t2, sorted by increasing U
values, where all elements of t1 and t2 that have the same U
value have their N constants added together.
In the example
above, the resulting type t0 would be equivalent to:
typedef
mpl::vector < T<0, 1>, T<1, 1>, T<2, 3>
> t0;
Thanks,
Eric.