transponuj argumenty boolowskie funkcji szablonu do argumentów funkcji wykonawczych za pomocą metaprogramowania szablonu

Mam funkcję, która pobiera kilka logicznych argumentów szablonu:

template<bool par1, bool par2, bool par2>
void function(int arg1, int arg2, int arg3);

Chcę generować automatycznie w czasie kompilacji (z dowolną magią szablonów, w razie potrzeby z C ++ 11) tabelę (lub coś równoważnego jak w zabawnych strukturach metaprogramowania C ++) wskaźników funkcji do wszystkich kombinacji wartości parametry szablonupar*, dzięki czemu mogę skonstruować funkcję, która pobiera te parametry szablonu jako argumenty środowiska wykonawczego i przesyła dalej do właściwej instancji szablonu:

void runtime_function(bool par1, bool par2, bool par3, int arg1, int arg2, int arg3);

Myślę, że można to zrobić, jeśli zamiast funkcji szablonu chcieliśmy zrobić to samo z klasami, dzięki argumentom szablonów:

template<template<bool> class T> class CombinationsOfTemplateParameters;
template<template<bool, bool> class T> class CombinationsOfTemplateParameters;
template<template<bool, bool, bool> class T> class CombinationsOfTemplateParameters;
//and so on, up to some implementation defined hard limit.

Ale o ile wiem, nie ma sposobu na wskazanie ogólnej funkcji szablonu, pozostawiając jej parametry szablonu nieokreślone. Dlatego nie wiem, jak przekazać ją do jakiejś klasy pomocniczej na liście parametrów szablonu, w pierwszej kolejności.

Czy istnieje sposób na rozwiązanie tego problemu?

questionAnswers(1)

yourAnswerToTheQuestion