The removeCluster/removeLinker are very slow because Clusters and Linkers are memorized via std::vector; for a better performances std::vector should changed to std::map
It's really useful this include file ?!?! I think that a file including everything is not very useful rather a set of files that includes only some categories of classes: example libclusters.h may includes all subclasses of Cluster, liblinkers.h may includes all subclasses of Linker, and so on.
creation of MathVector template, a subclass of VectorData for types that supports math operation (+,-,*,/, etc), so it's faster and easier create vectors of int, boolean, and so on.