More build fixes.
authorCarl Hetherington <cth@carlh.net>
Thu, 7 Jan 2016 16:56:59 +0000 (16:56 +0000)
committerCarl Hetherington <cth@carlh.net>
Thu, 7 Jan 2016 16:56:59 +0000 (16:56 +0000)
src/lib/image_filename_sorter.cc

index 112077f55fa3d0b43f908e60d7a21452dc2cb4e5..e23a551b41ecd6260f44cc7b94d2169f95a756ab 100644 (file)
 */
 
 #include "raw_convert.h"
+#include "image_filename_sorter.h"
 #include <boost/filesystem.hpp>
 #include <boost/foreach.hpp>
 #include <iostream>
 
-class ImageFilenameSorter
+using std::list;
+
+bool
+ImageFilenameSorter::operator() (boost::filesystem::path a, boost::filesystem::path b)
 {
-public:
-       bool operator() (boost::filesystem::path a, boost::filesystem::path b)
-       {
-               std::list<int> na = extract_numbers (a);
-               std::list<int> nb = extract_numbers (b);
-               if (na.empty() || nb.empty()) {
-                       return a.string() < b.string();
-               }
+       std::list<int> na = extract_numbers (a);
+       std::list<int> nb = extract_numbers (b);
+       if (na.empty() || nb.empty()) {
+               return a.string() < b.string();
+       }
 
-               if (na.size() != nb.size()) {
-                       /* Just use the first one */
-                       return na.front() < nb.front();
-               }
+       if (na.size() != nb.size()) {
+               /* Just use the first one */
+               return na.front() < nb.front();
+       }
 
-               std::list<int>::const_iterator i = na.begin ();
-               std::list<int>::const_iterator j = nb.begin ();
+       std::list<int>::const_iterator i = na.begin ();
+       std::list<int>::const_iterator j = nb.begin ();
 
-               while (i != na.end()) {
-                       if (*i != *j) {
-                               return *i < *j;
-                       }
-                       ++i;
-                       ++j;
+       while (i != na.end()) {
+               if (*i != *j) {
+                       return *i < *j;
                }
-
-               /* All the same */
-               return false;
+               ++i;
+               ++j;
        }
 
-private:
-       std::list<int> extract_numbers (boost::filesystem::path p)
-       {
-               p = p.leaf ();
-
-               std::list<std::string> numbers;
-
-               std::string current;
-               for (size_t i = 0; i < p.string().size(); ++i) {
-                       if (isdigit (p.string()[i])) {
-                               current += p.string()[i];
-                       } else {
-                               if (!current.empty ()) {
-                                       numbers.push_back (current);
-                                       current.clear ();
-                               }
-                       }
-               }
+       /* All the same */
+       return false;
 
-               if (!current.empty ()) {
-                       numbers.push_back (current);
-               }
+}
 
-               std::list<int> numbers_as_int;
-               BOOST_FOREACH (std::string i, numbers) {
-                       numbers_as_int.push_back (raw_convert<int> (i));
+list<int>
+ImageFilenameSorter::extract_numbers (boost::filesystem::path p)
+{
+       p = p.leaf ();
+
+       std::list<std::string> numbers;
+
+       std::string current;
+       for (size_t i = 0; i < p.string().size(); ++i) {
+               if (isdigit (p.string()[i])) {
+                       current += p.string()[i];
+               } else {
+                       if (!current.empty ()) {
+                               numbers.push_back (current);
+                               current.clear ();
+                       }
                }
+       }
+
+       if (!current.empty ()) {
+               numbers.push_back (current);
+       }
 
-               return numbers_as_int;
+       std::list<int> numbers_as_int;
+       BOOST_FOREACH (std::string i, numbers) {
+               numbers_as_int.push_back (raw_convert<int> (i));
        }
-};
+
+       return numbers_as_int;
+}