mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	v1.5.5:
Deal with auto_ptr and random_shuffle hard deprecations in C++14
This commit is contained in:
		| @@ -1,6 +1,6 @@ | ||||
|  | ||||
|  | ||||
| *v1.5.4* | ||||
| *v1.5.5* | ||||
|  | ||||
| Build status (on Travis CI) [](https://travis-ci.org/philsquared/Catch) | ||||
|  | ||||
|   | ||||
| @@ -37,7 +37,7 @@ namespace Catch { | ||||
|         return os; | ||||
|     } | ||||
|  | ||||
|     Version libraryVersion( 1, 5, 4, "", 0 ); | ||||
|     Version libraryVersion( 1, 5, 5, "", 0 ); | ||||
|  | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| /* | ||||
|  *  Catch v1.5.4 | ||||
|  *  Generated: 2016-05-12 19:16:01.957320 | ||||
|  *  Catch v1.5.5 | ||||
|  *  Generated: 2016-06-09 08:17:50.409622 | ||||
|  *  ---------------------------------------------------------- | ||||
|  *  This file has been merged from multiple headers. Please don't edit it directly | ||||
|  *  Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. | ||||
| @@ -106,8 +106,16 @@ | ||||
|  | ||||
| // All the C++11 features can be disabled with CATCH_CONFIG_NO_CPP11 | ||||
|  | ||||
| #if defined(__cplusplus) && __cplusplus >= 201103L | ||||
| #  define CATCH_CPP11_OR_GREATER | ||||
| #ifdef __cplusplus | ||||
|  | ||||
| #  if __cplusplus >= 201103L | ||||
| #    define CATCH_CPP11_OR_GREATER | ||||
| #  endif | ||||
|  | ||||
| #  if __cplusplus >= 201402L | ||||
| #    define CATCH_CPP14_OR_GREATER | ||||
| #  endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #ifdef __clang__ | ||||
| @@ -3450,7 +3458,7 @@ namespace Catch { | ||||
|     }; | ||||
|  | ||||
|     class DebugOutStream : public IStream { | ||||
|         std::auto_ptr<StreamBufBase> m_streamBuf; | ||||
|         CATCH_AUTO_PTR( StreamBufBase ) m_streamBuf; | ||||
|         mutable std::ostream m_os; | ||||
|     public: | ||||
|         DebugOutStream(); | ||||
| @@ -3598,7 +3606,7 @@ namespace Catch { | ||||
|         } | ||||
|         ConfigData m_data; | ||||
|  | ||||
|         std::auto_ptr<IStream const> m_stream; | ||||
|         CATCH_AUTO_PTR( IStream const ) m_stream; | ||||
|         TestSpec m_testSpec; | ||||
|     }; | ||||
|  | ||||
| @@ -6439,13 +6447,30 @@ namespace Catch { | ||||
| #include <iostream> | ||||
| #include <algorithm> | ||||
|  | ||||
| #ifdef CATCH_CPP14_OR_GREATER | ||||
| #include <random> | ||||
| #endif | ||||
|  | ||||
| namespace Catch { | ||||
|  | ||||
|     struct LexSort { | ||||
|         bool operator() (TestCase i,TestCase j) const { return (i<j);} | ||||
|     }; | ||||
|     struct RandomNumberGenerator { | ||||
|         int operator()( int n ) const { return std::rand() % n; } | ||||
|         typedef int result_type; | ||||
|  | ||||
|         result_type operator()( result_type n ) const { return std::rand() % n; } | ||||
|  | ||||
| #ifdef CATCH_CPP14_OR_GREATER | ||||
|         static constexpr result_type min() { return 0; } | ||||
|         static constexpr result_type max() { return 1000000; } | ||||
|         result_type operator()() const { return std::rand() % max(); } | ||||
| #endif | ||||
|         template<typename V> | ||||
|         static void shuffle( V& vector ) { | ||||
| #ifdef CATCH_CPP14_OR_GREATER | ||||
|             std::shuffle( vector.begin(), vector.end(), RandomNumberGenerator() ); | ||||
| #else | ||||
|             std::random_shuffle( vector.begin(), vector.end(), RandomNumberGenerator() ); | ||||
| #endif | ||||
|         } | ||||
|     }; | ||||
|  | ||||
|     inline std::vector<TestCase> sortTests( IConfig const& config, std::vector<TestCase> const& unsortedTestCases ) { | ||||
| @@ -6454,14 +6479,12 @@ namespace Catch { | ||||
|  | ||||
|         switch( config.runOrder() ) { | ||||
|             case RunTests::InLexicographicalOrder: | ||||
|                 std::sort( sorted.begin(), sorted.end(), LexSort() ); | ||||
|                 std::sort( sorted.begin(), sorted.end() ); | ||||
|                 break; | ||||
|             case RunTests::InRandomOrder: | ||||
|                 { | ||||
|                     seedRng( config ); | ||||
|  | ||||
|                     RandomNumberGenerator rng; | ||||
|                     std::random_shuffle( sorted.begin(), sorted.end(), rng ); | ||||
|                     RandomNumberGenerator::shuffle( sorted ); | ||||
|                 } | ||||
|                 break; | ||||
|             case RunTests::InDeclarationOrder: | ||||
| @@ -7547,7 +7570,7 @@ namespace Catch { | ||||
|         return os; | ||||
|     } | ||||
|  | ||||
|     Version libraryVersion( 1, 5, 4, "", 0 ); | ||||
|     Version libraryVersion( 1, 5, 5, "", 0 ); | ||||
|  | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash