add boost::adaptors::n_elements