
AMDG Hicham Mouline wrote:
Taking my example from before, starting the dates vector with YYYYMMDD int elements mpl::vector_c< 20100109, 20100125, 20100322, 20100428 > tds; // requires strictly sorted elements
and I want to place n=3 dates in buckets formed by the above 4 dates.
Let's say the way I choose the dates is 1 day, then 2 day, then 3days, less the dates in tds.
So I want the metafunction to return the list of all mpl::vector_c<> that have always 3 elements strictly sorted, so that
. all 3 dates < 20100109 ( 20100106 20100107 20100108 )
. 2 dates < 20100109 and 3rd date=20100109 ( 20100107 20100108 20100109 ) . ( 20100107 20100108 20100110 ) . ( 20100107 20100108 20100125 ) . ( 20100107 20100108 20100126 ) . ( 20100107 20100108 20100322 ) . ( 20100107 20100108 20100323 ) . ( 20100107 20100108 20100428 ) . ( 20100107 20100108 20100429 )
. 1 date < 20100109 and 2dates>=20100109 ( 20100108 20100109 20100110 ) . ( 20100108 20100109 20100125 ) . ( 20100108 20100109 20100126 ) . ( 20100108 20100109 20100322 ) . ( 20100108 20100109 20100323 ) . ( 20100108 20100109 20100428 ) . ( 20100108 20100109 20100429 )
. ( 20100108 20100110 20100111 ) . ( 20100108 20100110 20100125) . ( 20100108 20100110 20100126 ) . ( 20100108 20100110 20100322 ) . ( 20100108 20100110 20100323 ) . ( 20100108 20100110 20100428 ) . ( 20100108 20100110 20100429 ) Etc Etc
0 date<20100109 and 3dates>=20100109
The objective is to write the metafunction for generic tds vector, and generic n (not just 3)
I hope this is clearer otherwise, I will write the complete list next time.
Something like this should generate all subsets of a
sequence of a specific size. (Warning completely untested)
template