+ unsigned long long last_backup_date;
+ std::string filename;
+};
+
+std::ostream &operator<<( const FileData *d, std::ostream &o );
+std::istream &operator>>( std::istream &i, FileData *d );
+
+std::ostream &operator<<( const FileData &d, std::ostream &o );
+std::istream &operator>>( std::istream &i, FileData &d );
+
+struct FileDataLastBackupCmp {
+ bool operator()( const FileData *a, const FileData *b ) {
+ return a->getLastBackupDate() < b->getLastBackupDate();
+ }
+};
+
+struct FileDataSizeCmp {
+ bool operator()( const FileData *a, const FileData *b ) {
+ return a->getFileSize() < b->getFileSize();
+ }
+};
+
+struct FileDataNameCmp {
+ bool operator()( const FileData *a, const FileData *b ) {
+ return cmp( a->getFileName(), b->getFileName() );
+ }
+ private:
+ std::less<std::string> cmp;