SyntaxError said:
Possibly the OP could give us a more detailed description of the actual problem being solved.
As I said in the original post, I want to be able to store vertex position data in a std::vector<Vector3> and then pass in the address of the first element into glVertexPointer.
If you aren't familiar, glVertexPointer accepts a float* -- an array of vertex coordinates, laid out such that v[0] = a.x, v[1] = a.y, v[2] = a.z, v[3] = b.x, and so on...
It's not very convenient to work with vectors in this componentwise manner, hence why I want to store them as an array of Vector3's. Also, it would be highly inconvenient if I can to convert my Vector3's into the array of floats every frame (not just inconvenient, but incredibly slow).
I could write a VertexBuffer object that stores them as an array of floats and converts individual triples into Vector3's upon request -- essentially giving it the interface of a std::vector<Vector3>, but it's still inconvenient, and without good inlining, could be slow.