| From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Tue, 16 Aug 2022 08:44:18 -0700 |
| Subject: [PATCH] Remove using std::binary_function |
| |
| std::binary_function and std::unary_function are deprecated since c++11 |
| and removed in c++17, therefore remove it and use lambda functions to get same |
| functionality implemented. |
| |
| Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253] |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| ftparchive/apt-ftparchive.cc | 33 ++++++++++----------------------- |
| 1 file changed, 10 insertions(+), 23 deletions(-) |
| |
| diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc |
| index 87ce9153c..56fdc2246 100644 |
| --- a/ftparchive/apt-ftparchive.cc |
| +++ b/ftparchive/apt-ftparchive.cc |
| @@ -48,6 +48,11 @@ |
| using namespace std; |
| unsigned Quiet = 0; |
| |
| +auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; }; |
| +auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; }; |
| +auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; }; |
| + |
| + |
| static struct timeval GetTimevalFromSteadyClock() /*{{{*/ |
| { |
| auto const Time = std::chrono::steady_clock::now().time_since_epoch(); |
| @@ -116,24 +121,6 @@ struct PackageMap |
| bool SrcDone; |
| time_t ContentsMTime; |
| |
| - struct ContentsCompare : public binary_function<PackageMap,PackageMap,bool> |
| - { |
| - inline bool operator() (const PackageMap &x,const PackageMap &y) |
| - {return x.ContentsMTime < y.ContentsMTime;}; |
| - }; |
| - |
| - struct DBCompare : public binary_function<PackageMap,PackageMap,bool> |
| - { |
| - inline bool operator() (const PackageMap &x,const PackageMap &y) |
| - {return x.BinCacheDB < y.BinCacheDB;}; |
| - }; |
| - |
| - struct SrcDBCompare : public binary_function<PackageMap,PackageMap,bool> |
| - { |
| - inline bool operator() (const PackageMap &x,const PackageMap &y) |
| - {return x.SrcCacheDB < y.SrcCacheDB;}; |
| - }; |
| - |
| void GetGeneral(Configuration &Setup,Configuration &Block); |
| bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats); |
| bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats); |
| @@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup, |
| else |
| I->ContentsMTime = A.st_mtime; |
| } |
| - stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare()); |
| + stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare); |
| |
| /* Now for Contents.. The process here is to do a make-like dependency |
| check. Each contents file is verified to be newer than the package files |
| @@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL) |
| LoadBinDir(PkgList,Setup); |
| |
| // Sort by cache DB to improve IO locality. |
| - stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare()); |
| - stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare()); |
| + stable_sort(PkgList.begin(),PkgList.end(),DBCompare); |
| + stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare); |
| |
| // Generate packages |
| if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false) |
| @@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL) |
| LoadBinDir(PkgList,Setup); |
| |
| // Sort by cache DB to improve IO locality. |
| - stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare()); |
| - stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare()); |
| + stable_sort(PkgList.begin(),PkgList.end(),DBCompare); |
| + stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare); |
| |
| string CacheDir = Setup.FindDir("Dir::CacheDir"); |
| |