- std::vector<int> numbers;
- std::string number;
- for (size_t i = 0; i < p.string().size(); ++i) {
- if (isdigit (p.string()[i])) {
- number += p.string()[i];
- } else if (!number.empty ()) {
- numbers.push_back (raw_convert<int> (number));
- number.clear ();
- }
- }
-
- if (!number.empty ()) {
- numbers.push_back (raw_convert<int> (number));
+string
+ImageFilenameSorter::extract_numbers (boost::filesystem::path p)
+{
+ string numbers;
+ auto const ps = p.leaf().string();
+ for (size_t i = 0; i < ps.size(); ++i) {
+ if (isdigit (ps[i])) {
+ numbers += ps[i];