Let's assume I have a "Vec" class which is a wrapper of std::vector. The only private variable of "Vec" is just a std::vector object.
Let's assume that I have a function: void Vec:: foo(const Vec<double>& myVec).
Now, let's assume that I have an object vector<double> vec(100,3.5). Suppose that the entries of "vec" are exactly the entries I need in "myVec". Is there any way I can pass the entries of "vec" to "foo" without copying all its entries to an object of "Vec class"?
The closest thing would be to have an overload that takes an std::vector. Then you can either replicate the behavior in both functions or have both functions call a third, possibly private, function that will implement the shared behavior.