我有一组与一对一关系相关的类型,例如:
TypeA ---> Type1
TypeB ---> Type2
TypeC ---> Type3
我在编译时就知道这些关系。
然后,我有一个依赖于这两种类型的模板类:
template<class T1,class T2>
class MyClass
{
T1 foo;
T2 bar;
};
现在,我的图书馆的用户将输入如下内容:
MyClass<TypeA,Type1> x;
这很不方便,因为这两种类型之间存在依赖关系,用户只指定第一种类型就足够了。
此外,不应该混合这两种类型:
MyClass<TypeA,Type2> y; //it should not compile
我对模板元编程不是很熟悉,我的印象是这是可行的任务,但我可能错了。
所涉及的类型数量很多,但是如果需要,我很乐意运行脚本来生成代码。
你知道这是可能的还是我在浪费时间?您有什么想法可以为我指明正确的方向吗?