From 3554cd98325793c72f3b69fc6fb38df1bd35d661 Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Fri, 15 Feb 2019 17:07:16 +0100 Subject: [PATCH] Base: Move std::make_unique to Base --- src/Base/CMakeLists.txt | 1 + src/Base/StdStlTools.h | 41 ++++++++++++++++++++++++++++ src/Mod/Part/App/GeometryExtension.h | 8 +----- 3 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 src/Base/StdStlTools.h diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 05ff0488b0..94f1e3d6b9 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -328,6 +328,7 @@ SET(FreeCADBase_HPP_SRCS Reader.h Rotation.h Sequencer.h + StdStlTools.h Stream.h Swap.h ${SWIG_HEADERS} diff --git a/src/Base/StdStlTools.h b/src/Base/StdStlTools.h new file mode 100644 index 0000000000..4a251c9dd8 --- /dev/null +++ b/src/Base/StdStlTools.h @@ -0,0 +1,41 @@ +/*************************************************************************** + * Copyright (c) 2019 Abdullah Tahiri * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + + + +#ifndef BASE_STDSTLTOOLS_H +#define BASE_STDSTLTOOLS_H + +#if defined __cplusplus && __cplusplus <= 201103L + +#include + +namespace std { + template + std::unique_ptr make_unique(Args&&... args) + { + return std::unique_ptr(new T(std::forward(args)...)); + } +} +#endif + +#endif // BASE_STDSTLTOOLS_H diff --git a/src/Mod/Part/App/GeometryExtension.h b/src/Mod/Part/App/GeometryExtension.h index 7f163f6b6f..608f96653d 100644 --- a/src/Mod/Part/App/GeometryExtension.h +++ b/src/Mod/Part/App/GeometryExtension.h @@ -24,17 +24,11 @@ #ifndef PART_GEOMETRYEXTENSION_H #define PART_GEOMETRYEXTENSION_H +#include #include #include #include -namespace std { - template - std::unique_ptr make_unique(Args&&... args) - { - return std::unique_ptr(new T(std::forward(args)...)); - } -} namespace Part {