Thinking deeper on it, that class should be never copied..
See, the thing is, I merely wanted to allocate n tilemaps at beginning and then never mess with it again.
TileMap is a private struct, so its use is really scoped, its merely an aux.
There would never be the need of copying stuff around, if it where not by std::vector.
Copying InstancedSprites doesnt make any sense and should not be done. And it doesnt need to be done in my code.
Basically, the usage of std::vector was the problem in the first place. The fact that it have a friendly interface but with implicity complexities pisses me off.
Now, I dont want to have a cpy ctor on InstancedSprites, but I do want an array of tile maps, and I need to choose the size at initialization..What should I do?
Having used another raw array (for TileMap) in the first place would have never caused me problems, isnt it ironic?