From 9b326c7a71d529b5968a05a0858cc1be0ab56c93 Mon Sep 17 00:00:00 2001 From: Gvozden Neskovic Date: Tue, 14 May 2019 13:46:46 +0200 Subject: [PATCH] add array variant of fair::mq::tools::make_unique() --- fairmq/tools/CppSTL.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fairmq/tools/CppSTL.h b/fairmq/tools/CppSTL.h index ab10f64a..2892e187 100644 --- a/fairmq/tools/CppSTL.h +++ b/fairmq/tools/CppSTL.h @@ -27,6 +27,13 @@ std::unique_ptr make_unique(Args&& ...args) return std::unique_ptr(new T(std::forward(args)...)); } +// make_unique implementation (array variant), until C++14 is default +template +std::unique_ptr make_unique(std::size_t size) +{ + return std::unique_ptr(new typename std::remove_extent::type[size]()); +} + // provide an enum hasher to compensate std::hash not supporting enums in C++11 template struct HashEnum