2006-05-17 17:19:16 +00:00
|
|
|
|
2009-03-09 20:56:23 +00:00
|
|
|
// Copyright 2005-2009 Daniel James.
|
2006-07-01 22:31:26 +00:00
|
|
|
// 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)
|
2006-05-17 17:19:16 +00:00
|
|
|
|
|
|
|
#if !defined(BOOST_UNORDERED_TEST_HELPERS_METAFUNCTIONS_HEADER)
|
|
|
|
#define BOOST_UNORDERED_TEST_HELPERS_METAFUNCTIONS_HEADER
|
|
|
|
|
|
|
|
#include <boost/config.hpp>
|
|
|
|
#include <boost/type_traits/is_same.hpp>
|
|
|
|
|
2017-02-19 13:05:17 +00:00
|
|
|
namespace test {
|
2017-06-11 20:55:59 +01:00
|
|
|
template <class Container>
|
2018-01-27 09:39:59 +00:00
|
|
|
struct is_set : public boost::is_same<typename Container::key_type,
|
|
|
|
typename Container::value_type>
|
2017-06-11 20:55:59 +01:00
|
|
|
{
|
|
|
|
};
|
2006-05-17 17:19:16 +00:00
|
|
|
|
2017-06-11 20:55:59 +01:00
|
|
|
template <class Container> struct has_unique_keys
|
|
|
|
{
|
2018-01-27 09:39:59 +00:00
|
|
|
static char flip(typename Container::iterator const&);
|
|
|
|
static long flip(std::pair<typename Container::iterator, bool> const&);
|
2017-02-19 13:05:17 +00:00
|
|
|
BOOST_STATIC_CONSTANT(bool,
|
2017-06-11 20:55:59 +01:00
|
|
|
value = sizeof(long) ==
|
2018-01-27 09:39:59 +00:00
|
|
|
sizeof(flip(
|
|
|
|
((Container*)0)->insert(*(typename Container::value_type*)0))));
|
2017-06-11 20:55:59 +01:00
|
|
|
};
|
2006-05-17 17:19:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|