Btw. we have [code=cpp][/code] for when posting code.
Not sure what's your point here exactly.
If you use a vertex array of a certain primitive type, you can easily batch all the vertices together, no need for SFML to do anything.
If you have multiple different primitive types, you have to run multiple draw calls. That doesn't just go away by changing the interface, as it also requires multiple draw calls in OpenGL.
And if you just look for a vertex array struct thingy, then well we have that
sf::VertexArray, but often you'll want to use your own custom thing, when you want direct access to the vector of vertices.