Polyscope: a C++ viewer and UI for the rapid prototyping of geometric algorithms
polyscope.run
polyscope.run
It's interesting how object oriented programming seems entirely orthogonal to code reuse. Polyscope seems to have solved that problem with templates, but I wonder what the compilation errors will look like if your type does not support one of the required operations. Would Concepts finally solve this problem in C++20?
Polyscope, however, seems sufficiently ambitiously abstract that "code reuse" might be too narrow of a concept. It's a great example of the fuzzy distinction between "writing a library" and "inventing a DSL".