A lightweight, generic C++ framework for evolutionary computation