Есть ли способ пошагово проверить, что происходит, скажем, в шаблоне? Я имею в виду, как это создается шаг за шагом и так далее?
В книге, которую я упомянул здесь ,
Я нашел (2 минуты назад) довольно интересный пример того, как двоичный файл может быть реализован как метафункция.
template <unsigned long N>
struct binary
{
static unsigned const value
= binary<N/10>::value << 1 // prepend higher bits
| N%10; // to lowest bit
};
template <> // specialization
struct binary<0> // terminates recursion
{
static unsigned const value = 0;
};
и я думаю, что было бы весьма полезно иметь возможность шаг за шагом увидеть, что было сделано во время создания этого шаблона.
Спасибо за ваши ответы.