A generic doubly-connected edge list (half-edge) data structure written in C++