From 451b90e4f96b02f447f634b0badd2fb7df5769f7 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Mon, 8 Feb 2016 00:36:00 +0000 Subject: [PATCH] refs #584 Moved make_unique to makeunique.h --- src/blackcore/voicevatlib.cpp | 1 + src/blackmisc/blackmiscfreefunctions.h | 15 +--------- src/blackmisc/makeunique.h | 28 +++++++++++++++++++ .../simulation/aircraftmodelloader.cpp | 2 +- .../simulation/aircraftmodelloader.h | 1 + .../simulation/fscommon/aircraftcfgparser.cpp | 1 + src/blackmisc/weather/metardecoder.cpp | 1 + .../simulator/xplane/simulatorxplane.cpp | 1 + src/xbus/menus.cpp | 1 + 9 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 src/blackmisc/makeunique.h diff --git a/src/blackcore/voicevatlib.cpp b/src/blackcore/voicevatlib.cpp index 3196434de..60a53ca35 100644 --- a/src/blackcore/voicevatlib.cpp +++ b/src/blackcore/voicevatlib.cpp @@ -13,6 +13,7 @@ #include "audiomixervatlib.h" #include "blackmisc/logmessage.h" #include "blackmisc/blackmiscfreefunctions.h" +#include "blackmisc/makeunique.h" #include #include #include diff --git a/src/blackmisc/blackmiscfreefunctions.h b/src/blackmisc/blackmiscfreefunctions.h index d119362b7..64f59e012 100644 --- a/src/blackmisc/blackmiscfreefunctions.h +++ b/src/blackmisc/blackmiscfreefunctions.h @@ -13,13 +13,7 @@ #define BLACKMISC_FREEFUNCTIONS_H #include "blackmisc/blackmiscexport.h" -#include "blackmisc/tuple.h" -#include "blackmisc/inheritancetraits.h" #include // for Q_INIT_RESOURCE -#include -#include -#include -#include /*! * Workaround, to call initResource from namespace. Used in BlackMisc::initResources(). @@ -37,13 +31,6 @@ namespace BlackMisc { //! Init resources BLACKMISC_EXPORT void initResources(); - - //! Own implementation of std::make_unique, a C++14 feature not provided by GCC in C++11 mode - template - std::unique_ptr make_unique(Args &&... args) - { - return std::unique_ptr(new T(std::forward(args)...)); - } -} // ns +} #endif // guard diff --git a/src/blackmisc/makeunique.h b/src/blackmisc/makeunique.h new file mode 100644 index 000000000..85a133b24 --- /dev/null +++ b/src/blackmisc/makeunique.h @@ -0,0 +1,28 @@ +/* Copyright (C) 2016 + * swift project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKMISC_MAKEUNIQUE_H +#define BLACKMISC_MAKEUNIQUE_H + +#include +#include + +namespace BlackMisc +{ + //! Own implementation of std::make_unique, a C++14 feature not provided by GCC in C++11 mode + template + std::unique_ptr make_unique(Args &&... args) + { + return std::unique_ptr(new T(std::forward(args)...)); + } +} + +#endif // guard diff --git a/src/blackmisc/simulation/aircraftmodelloader.cpp b/src/blackmisc/simulation/aircraftmodelloader.cpp index c49a4894c..6045c23bd 100644 --- a/src/blackmisc/simulation/aircraftmodelloader.cpp +++ b/src/blackmisc/simulation/aircraftmodelloader.cpp @@ -12,7 +12,7 @@ #include "blackmisc/simulation/fscommon/aircraftcfgparser.h" #include "blackmisc/simulation/xplane/aircraftmodelloaderxplane.h" #include "blackmisc/simulation/xplane/xplaneutil.h" - +#include "blackmisc/makeunique.h" using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Simulation::XPlane; diff --git a/src/blackmisc/simulation/aircraftmodelloader.h b/src/blackmisc/simulation/aircraftmodelloader.h index a238921c5..7362a2063 100644 --- a/src/blackmisc/simulation/aircraftmodelloader.h +++ b/src/blackmisc/simulation/aircraftmodelloader.h @@ -18,6 +18,7 @@ #include "blackmisc/pixmap.h" #include #include +#include namespace BlackMisc { diff --git a/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp b/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp index e1d40e3e0..05ed3e26c 100644 --- a/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp +++ b/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp @@ -12,6 +12,7 @@ #include "blackmisc/simulation/fscommon/fscommonutil.h" #include "blackmisc/predicates.h" #include "blackmisc/logmessage.h" +#include "blackmisc/makeunique.h" using namespace BlackMisc; using namespace BlackMisc::Simulation; diff --git a/src/blackmisc/weather/metardecoder.cpp b/src/blackmisc/weather/metardecoder.cpp index 9fabc93e5..45adc3608 100644 --- a/src/blackmisc/weather/metardecoder.cpp +++ b/src/blackmisc/weather/metardecoder.cpp @@ -11,6 +11,7 @@ #include "blackmiscfreefunctions.h" #include "blackmisc/logmessage.h" #include "blackmisc/weather/presentweather.h" +#include "blackmisc/makeunique.h" #include #include diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index 7d985d790..58924e1ba 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -16,6 +16,7 @@ #include "blackmisc/blackmiscfreefunctions.h" #include "blackmisc/simulation/modelmappingsprovider.h" #include "blackmisc/geo/coordinategeodetic.h" +#include "blackmisc/makeunique.h" #include #include #include diff --git a/src/xbus/menus.cpp b/src/xbus/menus.cpp index c5ca9f1bb..208da705d 100644 --- a/src/xbus/menus.cpp +++ b/src/xbus/menus.cpp @@ -5,6 +5,7 @@ #include "menus.h" #include "blackmisc/blackmiscfreefunctions.h" +#include "blackmisc/makeunique.h" #include #include #include