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>
|
|
|
|
#include <boost/unordered_set.hpp>
|
|
|
|
#include <boost/unordered_map.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
|
|
|
|
{
|
|
|
|
BOOST_STATIC_CONSTANT(bool, value = false);
|
|
|
|
};
|
2006-05-17 17:19:16 +00:00
|
|
|
|
|
|
|
template <class V, class H, class P, class A>
|
2012-07-08 11:55:10 +00:00
|
|
|
struct has_unique_keys<boost::unordered_set<V, H, P, A> >
|
2006-05-17 17:19:16 +00:00
|
|
|
{
|
2012-07-08 11:55:10 +00:00
|
|
|
BOOST_STATIC_CONSTANT(bool, value = true);
|
2006-05-17 17:19:16 +00:00
|
|
|
};
|
|
|
|
|
2012-07-08 11:55:10 +00:00
|
|
|
template <class K, class M, class H, class P, class A>
|
|
|
|
struct has_unique_keys<boost::unordered_map<K, M, H, P, A> >
|
2006-05-17 17:19:16 +00:00
|
|
|
{
|
2012-07-08 11:55:10 +00:00
|
|
|
BOOST_STATIC_CONSTANT(bool, value = true);
|
2006-05-17 17:19:16 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|