96 lines
2.3 KiB
Plaintext
96 lines
2.3 KiB
Plaintext
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
// Copyright 2005 Daniel Wallin.
|
||
|
// Copyright 2005 Joel de Guzman.
|
||
|
// Copyright 2015 John Fletcher
|
||
|
//
|
||
|
// Use, modification and distribution is subject to 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)
|
||
|
//
|
||
|
// This is based on is_std_hash_map.hpp which was
|
||
|
// modeled after range_ex, Copyright 2004 Eric Niebler
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// is_unordered_set_or_map.hpp
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
// Definitions of overloads for the use of find with unordered types.
|
||
|
|
||
|
#ifndef BOOST_PHOENIX_IS_STD_UNORDERED_SET_OR_MAP
|
||
|
#define BOOST_PHOENIX_IS_STD_UNORDERED_SET_OR_MAP
|
||
|
|
||
|
#include <boost/mpl/bool.hpp>
|
||
|
#include "./std_unordered_set_or_map_fwd.hpp"
|
||
|
|
||
|
namespace boost
|
||
|
{
|
||
|
template<class T>
|
||
|
struct is_std_unordered_set
|
||
|
: boost::mpl::false_
|
||
|
{};
|
||
|
|
||
|
template<class T>
|
||
|
struct is_std_unordered_multiset
|
||
|
: boost::mpl::false_
|
||
|
{};
|
||
|
|
||
|
template<class T>
|
||
|
struct is_std_unordered_map
|
||
|
: boost::mpl::false_
|
||
|
{};
|
||
|
|
||
|
template<class T>
|
||
|
struct is_std_unordered_multimap
|
||
|
: boost::mpl::false_
|
||
|
{};
|
||
|
|
||
|
#ifdef BOOST_PHOENIX_HAS_UNORDERED_SET_AND_MAP
|
||
|
|
||
|
template<
|
||
|
class Kty
|
||
|
, class Hash
|
||
|
, class Cmp
|
||
|
, class Alloc
|
||
|
>
|
||
|
struct is_std_unordered_set< std::unordered_set<Kty,Hash,Cmp,Alloc> >
|
||
|
: boost::mpl::true_
|
||
|
{};
|
||
|
|
||
|
template<
|
||
|
class Kty
|
||
|
, class Hash
|
||
|
, class Cmp
|
||
|
, class Alloc
|
||
|
>
|
||
|
struct is_std_unordered_multiset< std::unordered_multiset<Kty,Hash,Cmp,Alloc> >
|
||
|
: boost::mpl::true_
|
||
|
{};
|
||
|
|
||
|
template<
|
||
|
class Kty
|
||
|
, class Ty
|
||
|
, class Hash
|
||
|
, class Cmp
|
||
|
, class Alloc
|
||
|
>
|
||
|
struct is_std_unordered_map< std::unordered_map<Kty,Ty,Hash,Cmp,Alloc> >
|
||
|
: boost::mpl::true_
|
||
|
{};
|
||
|
|
||
|
template<
|
||
|
class Kty
|
||
|
, class Ty
|
||
|
, class Hash
|
||
|
, class Cmp
|
||
|
, class Alloc
|
||
|
>
|
||
|
struct is_std_unordered_multimap< std::unordered_multimap<Kty,Ty,Hash,Cmp,Alloc> >
|
||
|
: boost::mpl::true_
|
||
|
{};
|
||
|
|
||
|
#endif
|
||
|
} // namespace boost
|
||
|
|
||
|
#endif
|