Давайте нового типа пользовательского TList представленного набора объектов шаблона:Компаратора для объектов класса шаблона, C++
template <class T>
struct TList
{
typedef std::set <Object <T>, sortByVal > TObjects;
};
Должен быть компаратором sortByVal также шаблон класса или, достаточно шаблонный метод из не-шаблонный класс?
class sortByVal
{
public:
template <class T>
bool operator() (const Object <T> &o1, const Object <T> &o2) const
{
return o1.getVal() < o2.getVal();
}
};
или
template <class T>
class sortByVal
{
public:
bool operator() (const Object <T> &o1, const Object <T> &o2) const
{
return o1.getVal() < o2.getVal();
}
};
Это называется _class template_, потому что это шаблон, из которого создаются классы, а не наоборот. – sbi