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; }; }