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_upper_bound.hpp
12//
13/////////////////////////////////////////////////////////////////////////////
14
15#ifndef BOOST_PHOENIX_HAS_UPPER_BOUND_EN_14_12_2004
16#define BOOST_PHOENIX_HAS_UPPER_BOUND_EN_14_12_2004
17
18#include <boost/mpl/or.hpp>
19#include "./is_std_map.hpp"
20#include "./is_std_set.hpp"
21#include "./is_std_hash_map.hpp"
22#include "./is_std_hash_set.hpp"
23
24namespace boost
25{
26 // Specialize this for user-defined types
27 template<typename T>
28 struct has_upper_bound
29 : boost::mpl::or_<
30 boost::mpl::or_<
31 is_std_map<T>
32 , is_std_multimap<T>
33 , is_std_set<T>
34 , is_std_multiset<T>
35 >
36 , boost::mpl::or_<
37 is_std_hash_map<T>
38 , is_std_hash_multimap<T>
39 , is_std_hash_set<T>
40 , is_std_hash_multiset<T>
41 >
42 >
43 {
44 };
45}
46
47#endif
48

source code of boost/libs/phoenix/include/boost/phoenix/stl/algorithm/detail/has_upper_bound.hpp