From 52b7fbbca6274eddb9de6d7ee69ec058d34b3a76 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 30 Jul 2015 15:53:01 -0400 Subject: [PATCH] Template type aliases compiled under Visual Studio 2015 (v19.00); and not VS2010 or VS2012. We have a winner... --- smartptr.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/smartptr.h b/smartptr.h index b1e2a4a9..5378eeb8 100644 --- a/smartptr.h +++ b/smartptr.h @@ -8,10 +8,12 @@ NAMESPACE_BEGIN(CryptoPP) // Hack ahead. Apple's standard library does not have C++'s unique_ptr in C++11. We can't -// test for unique_ptr directly because some of the non-Apple Clangs on OS X fail the same -// way. However, modern standard libraries have , so we test for it instead. -// Thanks to Jonathan Wakely for devising the clever test for modern/ancient versions. -#if (__cplusplus >= 201103L) || (_MSC_VER >= 1700) +// test for unique_ptr directly because some of the non-Apple Clangs on OS X fail the same +// way. However, modern standard libraries have , so we test for it instead. +// Thanks to Jonathan Wakely for devising the clever test for modern/ancient versions. +// Visual Studio did not add template aliases until VS 2015 (v19.00). Compile failed under +// Visual Studio 2010 (v16.00) and Visual Studio 2012 (v17.00). +#if (__cplusplus >= 201103L) || (_MSC_VER >= 1900) # if defined(__clang__) # if (__has_include()) # define CRYPTOPP_HAVE_UNIQUE_PTR 1