generic c++ libraries