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>
|
|
|
|
|
|
|
|
namespace test
|
|
|
|
{
|
|
|
|
template <class Container>
|
|
|
|
struct is_set
|
|
|
|
: public boost::is_same<
|
2008-01-10 22:30:46 +00:00
|
|
|
BOOST_DEDUCED_TYPENAME Container::key_type,
|
|
|
|
BOOST_DEDUCED_TYPENAME Container::value_type> {};
|
2006-05-17 17:19:16 +00:00
|
|
|
|
|
|
|
template <class Container>
|
2012-07-08 11:55:10 +00:00
|
|
|
struct has_unique_keys
|
|
|
|
{
|
2016-09-18 12:22:48 +01:00
|
|
|
static char flip(BOOST_DEDUCED_TYPENAME Container::iterator const&);
|
|
|
|
static long flip(std::pair<BOOST_DEDUCED_TYPENAME Container::iterator, bool> const&);
|
|
|
|
BOOST_STATIC_CONSTANT(bool, value = sizeof(long) == sizeof(
|
|
|
|
flip(((Container*) 0)->insert(*(BOOST_DEDUCED_TYPENAME Container::value_type*) 0))
|
|
|
|
));
|
2006-05-17 17:19:16 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|