¿Por qué necesito operadores de comparación en el paquete de indexación vectorial de python boost?

Me gustaría exponer el código C ++ con una

std::vector<A>

a pitón. Mi

class A{};

no tiene un operador de comparación implementado. Cuando intento

BOOST_PYTHON_MODULE(libmyvec)
{
  using namespace boost::python;
  class_<A>("A");
  class_<std::vector<A> >("Avec")
    .def(boost::python::vector_indexing_suite<std::vector<A> >());
}

Me sale un error sobre los operadores de comparación. Si cambio la definición de A a

class A {
public:
  bool operator==(const A& other) {return false;}
  bool operator!=(const A& other) {return true;}
};

Funciona a las mil maravillas.

¿Por qué necesito implementar estos operadores de comparación? ¿Hay alguna manera de usar elvector_indexing_suite ¿sin ellas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta