From 921ef30edab965866d62259d2b1840c42a630c34 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Thu, 23 Nov 2017 21:59:08 +0000 Subject: [PATCH] Use C++14 features to simplify our container base classes Summary: Using C++14 function return type deduction we can simplify the CRTP in CContainerBase etc. Reviewers: #swift_developers, rwinklmeier Reviewed By: #swift_developers, rwinklmeier Subscribers: jenkins Tags: #swift_pilot_client Differential Revision: https://dev.swift-project.org/D65 --- src/blackmisc/collection.h | 2 +- src/blackmisc/containerbase.h | 50 ++++++++++++++++++++--------------- src/blackmisc/range.h | 50 +++++++++++++++++------------------ src/blackmisc/sequence.h | 2 +- src/blackmisc/statusmessage.h | 8 +++--- 5 files changed, 58 insertions(+), 54 deletions(-) diff --git a/src/blackmisc/collection.h b/src/blackmisc/collection.h index d6d066a33..b066a0669 100644 --- a/src/blackmisc/collection.h +++ b/src/blackmisc/collection.h @@ -67,7 +67,7 @@ namespace BlackMisc */ template class CCollection : - public CContainerBase>, + public CContainerBase>, public Mixin::Icon> { public: diff --git a/src/blackmisc/containerbase.h b/src/blackmisc/containerbase.h index 38a57ea22..cb42fe0e4 100644 --- a/src/blackmisc/containerbase.h +++ b/src/blackmisc/containerbase.h @@ -49,18 +49,17 @@ namespace BlackMisc /*! * Base class for CCollection and CSequence adding mutating operations and CValueObject facility on top of CRangeBase. */ - template