Much better way to get at the size of an std::list