is_std_map.hpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. // is_std_map.hpp
  12. //
  13. /////////////////////////////////////////////////////////////////////////////
  14. #ifndef BOOST_PHOENIX_IS_STD_MAP_EN_16_12_2004
  15. #define BOOST_PHOENIX_IS_STD_MAP_EN_16_12_2004
  16. #include <boost/mpl/bool.hpp>
  17. #include <map>
  18. namespace boost
  19. {
  20. template<class T>
  21. struct is_std_map
  22. : boost::mpl::false_
  23. {};
  24. template<
  25. class Kty
  26. , class Ty
  27. , class Pr
  28. , class Alloc
  29. >
  30. struct is_std_map< ::std::map<Kty,Ty,Pr,Alloc> >
  31. : boost::mpl::true_
  32. {};
  33. template<class T>
  34. struct is_std_multimap
  35. : boost::mpl::false_
  36. {};
  37. template<
  38. class Kty
  39. , class Ty
  40. , class Pr
  41. , class Alloc
  42. >
  43. struct is_std_multimap< ::std::multimap<Kty,Ty,Pr,Alloc> >
  44. : boost::mpl::true_
  45. {};
  46. }
  47. #endif