From 5fbf8a227d0a36d86c7ceec434822df133de1b28 Mon Sep 17 00:00:00 2001 From: Roland Winklmeier Date: Tue, 4 Aug 2015 22:46:50 +0200 Subject: [PATCH] Fixed friend compare() method in CContainerBase --- src/blackmisc/containerbase.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/blackmisc/containerbase.h b/src/blackmisc/containerbase.h index 0b768a9b3..cc4e665a1 100644 --- a/src/blackmisc/containerbase.h +++ b/src/blackmisc/containerbase.h @@ -61,9 +61,15 @@ namespace BlackMisc //! \copydoc BlackMisc::CValueObject::compare friend int compare(const C &a, const C &b) { + for (auto i = a.cbegin(), j = b.cbegin(); i != a.cend() && j != b.cend(); ++i, ++j) + { + if (*i < *j) { return -1; } + if (*j < *i) { return 1; } + } if (a.size() < b.size()) { return -1; } - if (a.size() > b.size()) { return 1; } - return std::lexicographical_compare(a.cbegin(), a.cend(), b.cbegin(), b.cend()); + if (b.size() < a.size()) { return 1; } + return 0; + } /*!