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