Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/single_include/catch.hpp
diff options
context:
space:
mode:
authorPhil Nash2016-06-09 08:19:23 +0100
committerPhil Nash2016-06-09 08:19:23 +0100
commitac220289a617481b05b4d7821a19a89ba20d282c (patch)
tree2aa6c4a44c0bc428556f98f9d8c7e9d01032e04d /single_include/catch.hpp
parentbe3570ef22a450e7e040913822828468f70d7f81 (diff)
downloadcatch3-1.5.5.tar.gz
v1.5.5:v1.5.5
Deal with auto_ptr and random_shuffle hard deprecations in C++14
Diffstat (limited to 'single_include/catch.hpp')
-rw-r--r--single_include/catch.hpp53
1 files changed, 38 insertions, 15 deletions
diff --git a/single_include/catch.hpp b/single_include/catch.hpp
index 7df2fd09..79570fb4 100644
--- a/single_include/catch.hpp
+++ b/single_include/catch.hpp
@@ -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 );
}