-int callback( void *NotUsed, int argc, char **argv, char **azColName ) {
- int i;
- for( int i = 0; i < argc; ++i ) {
- cout << azColName[i] << " = " << ( argv[i] ? argv[i] : "NULL" ) << endl;
- }
- cout << endl;
- return 0;
+template<class SET>
+void partition_sets( const SET ¤t, const SET &old,
+ SET &added, SET &common, SET &deleted ) {
+ FileDataNameCmp cmp;
+
+ set_difference( current.begin(), current.end(),
+ old.begin(), old.end(),
+ inserter( added, added.begin() ),
+ cmp );
+
+ set_difference( old.begin(), old.end(),
+ current.begin(), current.end(),
+ inserter( deleted, deleted.begin() ),
+ cmp );
+
+ set_union( current.begin(), current.end(),
+ old.begin(), old.end(),
+ inserter( common, common.begin() ),
+ cmp );