  The purpose of this paper is (i) to present a generic and fully functional
implementation of the density-matrix renormalization group (DMRG) algorithm,
and (ii) to describe how to write additional strongly-correlated electron
models and geometries by using templated classes. Besides considering general
models and geometries, the code implements Hamiltonian symmetries in a generic
way and parallelization over symmetry-related matrix blocks.
