我希望为 C++ 中的所有简单类型添加功能。
我想编写一个模板类,它将要封装的类型作为模板参数,然后定义所有运算符,以便封装的类与它封装的简单类型完全一样。
像这样的东西:
template <typename _SimpleType_>
class Attribute
{
public:
Attribute(_SimpleType_ value){ m_value = value; }
~Attribute(){}
// Cast
operator _SimpleType_() { return(m_value); }
// Comparisons
bool operator==(const a& other) const { return a == m_value; }
etc...
private:
_SimpleType_ m_value;
}
// Use like:
Attribute<int> i = 20;
while(i)
{
if((i & 0xF) == 0)
{
i >>= 2;
}
i--;
} etc...
问题是我确信必须处理大量细微差别并编写专门的模板运算符;那么是否有任何地方已经完成了这项工作,以便我可以使用它呢?
Boost 太大且太复杂,无法放入我的项目中,但如果那里有这样的类,我可以查看它以获取指针 - 如果有,它的名称是什么?