C++ library for discontinuous Galerkin discretizations on general meshes