Hi
Just a quick suggestion about the types used for indexing.
I'm compiling a VC++ projects in 64bits right now and I've noticed some sf::VertexArray methods use the 32bits
unsigned int (i.e.
unsigned long) index types, even though their underneath std::vector<Vertex> uses the 64bits
unsigned long long types.
This leads to unnecessary casts and warnings.
So I think you should use std::size_t for unsigned indexes and std::ptrdiff_t for the signed ones.
NB: I didn't check, but sf::VertexArray probably isn't the only concerned class.