// Copyright 2005 Daniel Wallin. | |
// Copyright 2005 Joel de Guzman. | |
// | |
// 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) | |
// | |
// Modeled after range_ex, Copyright 2004 Eric Niebler | |
/////////////////////////////////////////////////////////////////////////////// | |
// | |
// has_upper_bound.hpp | |
// | |
///////////////////////////////////////////////////////////////////////////// | |
#if defined(_MSC_VER) && _MSC_VER >= 1000 | |
#pragma once | |
#endif | |
#ifndef HAS_UPPER_BOUND_EN_14_12_2004 | |
#define HAS_UPPER_BOUND_EN_14_12_2004 | |
#include <boost/mpl/or.hpp> | |
#include "./is_std_map.hpp" | |
#include "./is_std_set.hpp" | |
#include "./is_std_hash_map.hpp" | |
#include "./is_std_hash_set.hpp" | |
namespace boost | |
{ | |
// Specialize this for user-defined types | |
template<typename T> | |
struct has_upper_bound | |
: boost::mpl::or_< | |
boost::mpl::or_< | |
is_std_map<T> | |
, is_std_multimap<T> | |
, is_std_set<T> | |
, is_std_multiset<T> | |
> | |
, boost::mpl::or_< | |
is_std_hash_map<T> | |
, is_std_hash_multimap<T> | |
, is_std_hash_set<T> | |
, is_std_hash_multiset<T> | |
> | |
> | |
{ | |
}; | |
} | |
#endif |