我有一个自定义列表类,并希望支持使用 STL 中已知的“比较运算符”的操作。例如:
std::list<MyClass> d;
struct not_key {
not_key( std::string const& str) : str_(str) {}
bool operator( MyClass& elem ) {
return !elem.findThatThing();
}
std::string str_;
};
not_key comp("value");
d.remove_if( comp );
mylist<MyClass> e(d);
e.filter( comp );
而且我正在为接受这些“通用”比较运算符的方法的签名而苦苦挣扎。因为它们都有不同的类型,我不想要静态成员函数。如何向我的类添加一个接受比较运算符的方法?
非常感谢你!:)