2013/6/22 Bruno Lalande <bruno.lalande@gmail.com>

MyVector v = return_difference<MyVector>(p1, p2);

OK, what I had in mind was to allow for an interface where users don't have to specify the return type (the call would just be return_different(p1, p2) and the library would just determine if a vector or a point is expected). But I realize your proposal is more aligned with what we generally do right now in the library. I do have plans to make all return_xxx functions more convenient, not just that one, and what I was proposing better fits in those more general plans, so yes we can skip it for now.


Yes, I've choosen the interface close to the one used right now:

MyVector v = return_difference<MyVector>(p1, p2);
//and
difference(p1, p2, v);

Does it colide with the one you'd like to introduce later? I guess no, because you plan to support it together with the existing one?

But what about coordinate_system? Should we use it even if we omit it for now and assume that Vectors and other concepts we'd like to add now are cartesian?

Regards,
Adam