summaryrefslogtreecommitdiff
path: root/libs/functional
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:08:07 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:09:00 +0900
commitb5c87084afaef42b2d058f68091be31988a6a874 (patch)
treeadef9a65870a41181687e11d57fdf98e7629de3c /libs/functional
parent34bd32e225e2a8a94104489b31c42e5801cc1f4a (diff)
downloadboost-b5c87084afaef42b2d058f68091be31988a6a874.tar.gz
boost-b5c87084afaef42b2d058f68091be31988a6a874.tar.bz2
boost-b5c87084afaef42b2d058f68091be31988a6a874.zip
Imported Upstream version 1.64.0upstream/1.64.0
Change-Id: Id9212edd016dd55f21172c427aa7894d1d24148b Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'libs/functional')
-rw-r--r--libs/functional/factory/test/factory.cpp8
-rw-r--r--libs/functional/factory/test/factory_with_none_t.cpp9
-rw-r--r--libs/functional/hash/doc/changes.qbk5
-rw-r--r--libs/functional/hash/test/compile_time.hpp2
-rw-r--r--libs/functional/hash/test/hash_number_test.cpp10
-rw-r--r--libs/functional/overloaded_function/doc/html/index.html2
6 files changed, 32 insertions, 4 deletions
diff --git a/libs/functional/factory/test/factory.cpp b/libs/functional/factory/test/factory.cpp
index dff40a7706..76afe7bb9f 100644
--- a/libs/functional/factory/test/factory.cpp
+++ b/libs/functional/factory/test/factory.cpp
@@ -27,10 +27,18 @@ int main()
sum* instance( boost::factory< sum* >()(one,two) );
BOOST_TEST(*instance == 3);
}
+#if !defined(BOOST_NO_AUTO_PTR)
{
std::auto_ptr<sum> instance( boost::factory< std::auto_ptr<sum> >()(one,two) );
BOOST_TEST(*instance == 3);
}
+#endif
+#if !defined(BOOST_NO_CXX11_SMART_PTR)
+ {
+ std::unique_ptr<sum> instance( boost::factory< std::unique_ptr<sum> >()(one,two) );
+ BOOST_TEST(*instance == 3);
+ }
+#endif
return boost::report_errors();
}
diff --git a/libs/functional/factory/test/factory_with_none_t.cpp b/libs/functional/factory/test/factory_with_none_t.cpp
index bce3b4f209..168dc26c1a 100644
--- a/libs/functional/factory/test/factory_with_none_t.cpp
+++ b/libs/functional/factory/test/factory_with_none_t.cpp
@@ -28,10 +28,19 @@ int main()
sum* instance( boost::factory< sum*, boost::none_t >()(one,two) );
BOOST_TEST(*instance == 3);
}
+#if !defined(BOOST_NO_AUTO_PTR)
{
std::auto_ptr<sum> instance(
boost::factory< std::auto_ptr<sum>, boost::none_t >()(one,two) );
BOOST_TEST(*instance == 3);
}
+#endif
+#if !defined(BOOST_NO_CXX11_SMART_PTR)
+ {
+ std::unique_ptr<sum> instance(
+ boost::factory< std::unique_ptr<sum>, boost::none_t >()(one,two) );
+ BOOST_TEST(*instance == 3);
+ }
+#endif
return boost::report_errors();
}
diff --git a/libs/functional/hash/doc/changes.qbk b/libs/functional/hash/doc/changes.qbk
index f7409c782c..8918e0e168 100644
--- a/libs/functional/hash/doc/changes.qbk
+++ b/libs/functional/hash/doc/changes.qbk
@@ -186,4 +186,9 @@
Otherwise there's a compile error as there's no overload for hashing
the characters in wide strings ([ticket 8552]).
+[h2 Boost 1.64.0]
+
+* Fix for recent versions of Visual C++ which have removed `std::unary_function`
+ and `std::binary_function`.
+
[endsect]
diff --git a/libs/functional/hash/test/compile_time.hpp b/libs/functional/hash/test/compile_time.hpp
index 40f39d8eff..db6bc5998b 100644
--- a/libs/functional/hash/test/compile_time.hpp
+++ b/libs/functional/hash/test/compile_time.hpp
@@ -10,7 +10,9 @@
template <class T>
void compile_time_tests(T*)
{
+#if !defined(_HAS_AUTO_PTR_ETC) || _HAS_AUTO_PTR_ETC
BOOST_STATIC_ASSERT((boost::is_base_and_derived<
std::unary_function<T, std::size_t>, BOOST_HASH_TEST_NAMESPACE::hash<T> >::value));
+#endif
}
diff --git a/libs/functional/hash/test/hash_number_test.cpp b/libs/functional/hash/test/hash_number_test.cpp
index 9adb5c6c94..ebfe4d44fc 100644
--- a/libs/functional/hash/test/hash_number_test.cpp
+++ b/libs/functional/hash/test/hash_number_test.cpp
@@ -127,9 +127,13 @@ void poor_quality_tests(T*)
BOOST_TEST(x1(T(1)) != x2(T(-1)));
if(T(1) != T(2))
BOOST_TEST(x1(T(1)) != x2(T(2)));
- if((limits::max)() != (limits::max)() - 1)
- BOOST_TEST(x1(static_cast<T>((limits::max)()))
- != x2(static_cast<T>((limits::max)() - 1)));
+
+ // TODO: This test is useless for floating point numbers.
+ T max_number = static_cast<T>((limits::max)());
+ T max_minus_one = static_cast<T>(max_number - 1);
+ if (max_number != max_minus_one) {
+ BOOST_TEST(x1(max_number) != x1(max_minus_one));
+ }
}
void bool_test()
diff --git a/libs/functional/overloaded_function/doc/html/index.html b/libs/functional/overloaded_function/doc/html/index.html
index f448de52d1..f78724a5da 100644
--- a/libs/functional/overloaded_function/doc/html/index.html
+++ b/libs/functional/overloaded_function/doc/html/index.html
@@ -134,7 +134,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 22, 2016 at 12:38:46 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 17, 2017 at 02:38:58 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>