Cleaner comparators
[backups/.git] / main.cpp
index 8540adfb56c480db0d6284b3811bafd051773ec2..06d1a2f9ecf0847e73e47d83dc0c17df4c2f17f8 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -62,27 +62,25 @@ void populate_set( istream &in, SET &files ) {
 template<class SET>
 void partition_sets( const SET &current, const SET &old,
                      SET &added, SET &common, SET &old_common, SET &deleted  ) {
-  FileDataNameCmp cmp;
-
   set_difference(   current.begin(), current.end(),
                     old.begin(),     old.end(),
                     inserter( added, added.begin() ),
-                    cmp );
+                    FileData::namecmp );
 
   set_difference(   old.begin(),     old.end(),
                     current.begin(), current.end(),
                     inserter( deleted, deleted.begin() ),
-                    cmp );
+                    FileData::namecmp );
 
   set_intersection( current.begin(), current.end(),
                     old.begin(),     old.end(),
                     inserter( common, common.begin() ),
-                    cmp );
+                    FileData::namecmp );
 
   set_intersection( old.begin(),    old.end(),
                     common.begin(), common.end(),
                     inserter( old_common, old_common.begin() ),
-                    cmp );
+                    FileData::namecmp );
 }
 
 template<class INT>
@@ -182,8 +180,7 @@ int main() {
   file_vector backups_s;
   copy( backups.begin(), backups.end(), back_inserter( backups_s ) );
 
-  FileDataSizeCmp sizecmp;
-  sort( backups_s.rbegin(), backups_s.rend(), sizecmp );
+  sort( backups_s.rbegin(), backups_s.rend(), FileData::sizecmp );
 
   file_set final;
   unsigned long long space = 0x100000000ULL;
@@ -203,17 +200,15 @@ int main() {
   // collection left with actual content.
   if( 0 != space ) {
     file_vector leftovers;
-    FileDataNameCmp cmp;
     set_difference( current.begin(), current.end(),
                     final.begin(),   final.end(),
                     back_inserter( leftovers ),
-                    cmp );
+                    FileData::namecmp );
 
-    FileDataLastBackupCmp lastbackupcmp;
     // Achieve 'last back date then by filesize' by first sorting by filesizing
     // and then running stable sort by last backup date.
-    sort(        leftovers.rbegin(), leftovers.rend(), sizecmp );
-    stable_sort( leftovers.begin(),  leftovers.end(),  lastbackupcmp );
+    sort(        leftovers.rbegin(), leftovers.rend(), FileData::sizecmp );
+    stable_sort( leftovers.begin(),  leftovers.end(),  FileData::lastbackupcmp );
 
     copy_until_full( leftovers.begin(), leftovers.end(), final_i, space );
   }