++ library