From aa16dad79664c72f463f71ac83879b0161d40890 Mon Sep 17 00:00:00 2001 From: tastytea Date: Fri, 26 Jul 2019 03:11:44 +0200 Subject: [PATCH] Sort exports by date, newest to oldest. --- CMakeLists.txt | 2 +- src/export.cpp | 14 +++++++++++++- src/export.hpp | 6 +++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ba17998..203171d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required (VERSION 3.2) project(remwharead - VERSION 0.6.2 + VERSION 0.6.3 LANGUAGES CXX ) diff --git a/src/export.cpp b/src/export.cpp index 406daa1..22e4312 100644 --- a/src/export.cpp +++ b/src/export.cpp @@ -14,12 +14,24 @@ * along with this program. If not, see . */ +#include #include "export.hpp" namespace Export { ExportBase::ExportBase(const vector &entries, ostream &out) - : _entries(entries) + : _entries(sort_entries(entries)) , _out(out) {} + + const vector + ExportBase::sort_entries(vector entries) const + { + std::sort(entries.begin(), entries.end(), + [](const auto &a, const auto &b) + { + return (a.datetime > b.datetime); + }); + return entries; + } } diff --git a/src/export.hpp b/src/export.hpp index 45c24d1..4c1f3d7 100644 --- a/src/export.hpp +++ b/src/export.hpp @@ -36,8 +36,12 @@ namespace Export virtual void print() const = 0; protected: - const vector &_entries; + const vector _entries; ostream &_out; + + //! Sort entries from newest to oldest. + const vector + sort_entries(vector entries) const; }; }