]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/phoenix/stl/algorithm/detail/has_equal_range.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / phoenix / stl / algorithm / detail / has_equal_range.hpp
1 // Copyright 2005 Daniel Wallin.
2 // Copyright 2005 Joel de Guzman.
3 //
4 // Use, modification and distribution is subject to the Boost Software
5 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8 // Modeled after range_ex, Copyright 2004 Eric Niebler
9 ///////////////////////////////////////////////////////////////////////////////
10 //
11 // has_equal_range.hpp
12 //
13 /////////////////////////////////////////////////////////////////////////////
14
15 #if defined(_MSC_VER)
16 #pragma once
17 #endif
18
19 #ifndef BOOST_PHOENIX_HAS_EQUAL_RANGE_EN_14_12_2004
20 #define BOOST_PHOENIX_HAS_EQUAL_RANGE_EN_14_12_2004
21
22 #include <boost/mpl/or.hpp>
23 #include "./is_std_map.hpp"
24 #include "./is_std_set.hpp"
25 #include "./is_std_hash_map.hpp"
26 #include "./is_std_hash_set.hpp"
27
28 namespace boost
29 {
30 // Specialize this for user-defined types
31 template<typename T>
32 struct has_equal_range
33 : boost::mpl::or_<
34 boost::mpl::or_<
35 is_std_map<T>
36 , is_std_multimap<T>
37 , is_std_set<T>
38 , is_std_multiset<T>
39 >
40 , boost::mpl::or_<
41 is_std_hash_map<T>
42 , is_std_hash_multimap<T>
43 , is_std_hash_set<T>
44 , is_std_hash_multiset<T>
45 >
46 >
47 {
48 };
49 }
50
51 #endif