mirror of
https://github.com/boostorg/functional.git
synced 2026-01-19 04:12:10 +00:00
std::unary_function and std::binary_function are removed in C++17, and Visual C++ is the first compiler to do this (when the appropriate macro is defined). I'm not sure what the long term solution should be, but hopefully this will work for now.
19 lines
566 B
C++
19 lines
566 B
C++
|
|
// Copyright 2005-2009 Daniel James.
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
#include <boost/config.hpp>
|
|
#include <boost/static_assert.hpp>
|
|
#include <boost/type_traits/is_base_and_derived.hpp>
|
|
|
|
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
|
|
}
|
|
|