Suppose we define a class template<typename T> class vector that behaves like std::vector except that we are able to alter its class definition.
Suppose also that we have a function f(const vector<T>&).
How can we enable an implicit conversion that would allow us to pass a vector<const T>& into f?
I think such an implicit conversion is sensible, because I believe the restrictions imposed by the const vector<T>& are a superset of the restrictions imposed by the vector<const T>&. But any guidance that might be enlightening would be appreciated.