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_lower_bound.hpp
12//
13/////////////////////////////////////////////////////////////////////////////
14
15#if defined(_MSC_VER)
16#pragma once
17#endif
18
19#ifndef BOOST_PHOENIX_HAS_LOWER_BOUND_EN_14_12_2004
20#define BOOST_PHOENIX_HAS_LOWER_BOUND_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
28namespace boost
29{
30 // Specialize this for user-defined types
31 template<typename T>
32 struct has_lower_bound
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
52

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