1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| template<typename v, bool empty>
struct une_fonction_impl
{};
template<typename v>
struct une_fonction_impl<v, false>
{
static void apply()
{
//faire un truc avec front<v>::type
typedef typename pop_front<v>::type tail;
typedef typename empty<tail>::type empty;
une_fonction_impl<tail, empty::value>::apply();
}
};
template<typename v>
struct une_fonction_impl<v, true>
{
static void apply()
{
}
};
template<typename v>
void une_fonction()
{
typedef typename empty<v>::type empty;
une_fonction_impl<v, empty::value>::apply();
} |