From 77c7e9803eb841f7cec3ec5fa4c239fa091b62c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Thu, 30 Sep 2021 20:17:59 +0200 Subject: [PATCH] Improve documentation on Detail::unique_ptr --- src/catch2/internal/catch_unique_ptr.hpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/catch2/internal/catch_unique_ptr.hpp b/src/catch2/internal/catch_unique_ptr.hpp index 6200542b..237155d8 100644 --- a/src/catch2/internal/catch_unique_ptr.hpp +++ b/src/catch2/internal/catch_unique_ptr.hpp @@ -22,9 +22,12 @@ namespace Catch { namespace Detail { - // reimplementation of unique_ptr for improved compilation times - // Does not support custom deleters (and thus does not require EBO) - // Does not support arrays + /** + * A reimplementation of `std::unique_ptr` for improved compilation performance + * + * Does not support arrays nor custom deleters, but has trivial ABI + * when supposed by the compiler. + */ template class TRIVIAL_ABI unique_ptr { T* m_ptr; @@ -107,10 +110,7 @@ namespace Detail { } }; - // Purposefully doesn't exist - // We could also rely on compiler warning + werror for calling plain delete - // on a T[], but this seems better. - // Maybe add definition and a static assert? + //! Specialization to cause compile-time error for arrays template class unique_ptr;