Это несколько бессмысленная штука, если только это всё не известно в компилтайме. Если это известно во время компиляции, я бы попробовал переосмыслить саму задачу и идею её решения. Здесь может подойти CRTP, но его стоит избегать до тех пор, пока существуют другие способы решения задачи
Это задачка не кудато это задачка на уровне я хочу научится, и сегодня уже 3тий день как я воюю с этой штукой.