/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #ifndef cm_memory_hxx #define cm_memory_hxx #include "cmConfigure.h" // IWYU pragma: keep #include // IWYU pragma: export #if !defined(CMake_HAVE_CXX_MAKE_UNIQUE) # include #endif namespace cm { #if defined(CMake_HAVE_CXX_MAKE_UNIQUE) using std::make_unique; #else template std::unique_ptr make_unique(Args&&... args) { return std::unique_ptr(new T(std::forward(args)...)); } #endif } // namespace cm #endif