Skip to content

Commit

Permalink
Template type aliases compiled under Visual Studio 2015 (v19.00); and…
Browse files Browse the repository at this point in the history
… not VS2010 or VS2012. We have a winner...
  • Loading branch information
noloader committed Jul 30, 2015
1 parent c7e5beb commit 52b7fbb
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions smartptr.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 <forward_list>, 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 <forward_list>, 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(<forward_list>))
# define CRYPTOPP_HAVE_UNIQUE_PTR 1
Expand Down

0 comments on commit 52b7fbb

Please sign in to comment.