From fdfd3b6dd70be5a8d456d6837758aa43a90ab3cc Mon Sep 17 00:00:00 2001 From: Egor Date: Fri, 2 Nov 2018 23:00:33 -0700 Subject: Fixed few linux build issues --- Common/interface/STDAllocator.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'Common/interface') diff --git a/Common/interface/STDAllocator.h b/Common/interface/STDAllocator.h index 10f6769a..2371bdb8 100644 --- a/Common/interface/STDAllocator.h +++ b/Common/interface/STDAllocator.h @@ -34,6 +34,17 @@ namespace Diligent { +template +typename std::enable_if::value, void>::type Destruct(T *ptr) +{ + ptr->~T(); +} + +template +typename std::enable_if::value, void>::type Destruct(T *ptr) +{ +} + template struct STDAllocator { @@ -183,7 +194,7 @@ struct STDDeleter void operator()(T *ptr) noexcept { VERIFY(m_Allocator != nullptr, "The deleter has been moved away or never initialized, and can't be used"); - ptr->~T(); + Destruct(ptr); m_Allocator->Free(ptr); } -- cgit v1.2.3