And rename them to *InPlace(), since that's what they do. The original
STL variants are now deprecated wrappers over the new names. Not
adapting the test yet in order to test everything is alright.
Spotted by MSVC compiler (which does range check on everything). This
was probably harmless, as the out-of-range memory wasn't accessed
afterwards (the for cycle would end right after that because vi == 3),
but it was firing the assertion so it's better to have it fixed.
Everything what was in src/ is now in src/Corrade, everything from
src/Plugins is now in src/MagnumPlugins, everything from external/ is in
src/MagnumExternal. Added new CMakeLists.txt file and updated the other
ones for the moves, no other change was made. If MAGNUM_BUILD_DEPRECATED
is set, everything compiles and installs like previously except for the
plugins, which are now in MagnumPlugins and not in Magnum/Plugins.
All classes moved to MeshTools::Implementation namespace and removed
from Doxygen output. They now all return tuples instead of custom
structures. Updated and improved documentation, removed references to
implementation classes.
Algorithm used: Pedro V. Sander, Diego Nehab, and Joshua Barczak, Fast
Triangle Reordering for Vertex Locality and Reduced Overdraw, SIGGRAPH
2007, http://gfx.cs.princeton.edu/pubs/Sander_2007_%3ETR/index.php
Also created new shared MeshTools library.