为模板类定义中的另一个类型声明运算符重载

时间:2014-02-22 13:54:12

标签: c++ templates operator-overloading

我正在使用enum_bitmask<E>模板类,其中E是枚举类型,enum_bitmask<E>只能由默认构造函数公开构造(设置为0)或来自E,而enum_bitmask<E>|&^~以及相关的复合赋值运算符具有运算符重载。我喜欢为那些需要一两个E并且返回enum_bitmask<E>的运算符定义重载,但仅当enum_bitmask<E>已经在别处实例化。这可能没有宏吗?显然,我可以DECLARE_BITMASK_OPS(E)并相应地定义DECLARE_BITMASK_OPS

0 个答案:

没有答案