Delete implicit copy constructors for classes that are not safe to copy.
Use C++11 range base for loop.
Remove unnecessary spaces between closing brackets of templates.