Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:47:40

0001 // Copyright 2005 Daniel Wallin.
0002 // Copyright 2005 Joel de Guzman.
0003 //
0004 // Use, modification and distribution is subject to the Boost Software
0005 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 // Modeled after range_ex, Copyright 2004 Eric Niebler
0009 ///////////////////////////////////////////////////////////////////////////////
0010 //
0011 // has_equal_range.hpp
0012 //
0013 /////////////////////////////////////////////////////////////////////////////
0014 
0015 #if defined(_MSC_VER)
0016 #pragma once
0017 #endif
0018 
0019 #ifndef BOOST_PHOENIX_HAS_EQUAL_RANGE_EN_14_12_2004
0020 #define BOOST_PHOENIX_HAS_EQUAL_RANGE_EN_14_12_2004
0021 
0022 #include <boost/mpl/or.hpp>
0023 #include "./is_std_map.hpp"
0024 #include "./is_std_set.hpp"
0025 #include "./is_std_hash_map.hpp"
0026 #include "./is_std_hash_set.hpp"
0027 
0028 namespace boost
0029 {
0030     // Specialize this for user-defined types
0031     template<typename T>
0032     struct has_equal_range
0033         : boost::mpl::or_<
0034             boost::mpl::or_<
0035                 is_std_map<T>
0036               , is_std_multimap<T>
0037               , is_std_set<T>
0038               , is_std_multiset<T>
0039             >
0040           , boost::mpl::or_<
0041                 is_std_hash_map<T>
0042               , is_std_hash_multimap<T>
0043               , is_std_hash_set<T>
0044               , is_std_hash_multiset<T>
0045           >
0046         >
0047     {
0048     };
0049 }
0050 
0051 #endif