Здравствуйте, Коллеги.
Помогите, пожалуйста, перегрузить оператор сравнения для std::vector<boost::shared_ptr> чтобы сравнивались не указатели, а объекты по этим указателям.
#include <vector>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include <iostream>
using namespace std;
using namespace boost;
int main()
{
vector<shared_ptr<int> > v1, v2;
v1.push_back(make_shared<int>(1));
v2.push_back(make_shared<int>(1));
bool equal = v1 == v2; // здесь хочу получить true вместо false
cout << equal << endl;
cout << "v1[0] = " << v1[0] << " -> " << *v1[0] << endl;
cout << "v2[0] = " << v2[0] << " -> " << *v2[0] << endl;
vector<int> v3, v4;
v3.push_back(1);
v4.push_back(1);
equal = v3 == v4;
cout << equal << endl;
cout << "v3[0] = " << v3[0] << endl;
cout << "v4[0] = " << v4[0] << endl;
return 0;
}