Есть идеи, что я могу сделать?
Вариант 1. Использование функции, не являющейся членом, для сравнения двух Nodelet
объектов.
Вы можете определить функцию, не являющуюся членом operator<
, между двумя Nodelet
объектами со следующей подписью.
bool operator<(my_msgs::Nodelet const& lhs, my_msgs::Nodelet const& rhs);
Вам не нужна способность изменять класс, чтобы сделать это. Вы можете объявить его в своем собственном файле .h и определить его в своем собственном файле .cpp.
Вариант 2. Использование функтора для сравнения двух Nodelet
объектов
Вы можете определить функтор со следующим интерфейсом:
struct CompareNodelet
{
bool operator()(my_msgs::Nodelet const& lhs, my_msgs::Nodelet const& rhs) const;
};
и используйте его для построения карты.
std::map<my_msgs::Nodelet, int, CompareNodelet> mRunningProcPID;