этот вопрос связан с С++
существует библиотека, которая объявляет класс с именем Solver < TS, FS > . Solver является членом другого класса Domain (написанный мной)
теперь существует много доменов, которые имеют член "int region"
то, что я хочу сделать, зависит от значения области, я хочу, чтобы решатель принял разные аргументы для TS и FS. Я думал о чем-то вдоль линии
template<int region>
struct Decider
{
if(region==1)
{
typedef TSA TS;
typedef FSA FS;
}
else
if(region==2)
{
typedef TSB TS;
typedef FSB FS;
}
}
а затем используйте его как
Decider<region>::TS
Decider<region>::FS
Однако, из-за объема if, я думаю, что структура бесполезна. Однако я не могу придумать лучшего метода для этого. Любые предложения?
Все разные TS и FS имеют один и тот же интерфейс. Поэтому мне не нужно беспокоиться о внутреннем коде.