map_fwd.hpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*=============================================================================
  2. Copyright (c) 2001-2011 Joel de Guzman
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. ==============================================================================*/
  6. #if !defined(FUSION_MAP_FORWARD_MAIN_07212005_1105)
  7. #define FUSION_MAP_FORWARD_MAIN_07212005_1105
  8. #include <boost/fusion/support/config.hpp>
  9. #include <boost/config.hpp>
  10. #if (defined(BOOST_NO_CXX11_DECLTYPE) \
  11. || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \
  12. || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \
  13. || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
  14. # if defined(BOOST_FUSION_HAS_VARIADIC_MAP)
  15. # undef BOOST_FUSION_HAS_VARIADIC_MAP
  16. # endif
  17. #else
  18. # if !defined(BOOST_FUSION_HAS_VARIADIC_MAP)
  19. # define BOOST_FUSION_HAS_VARIADIC_MAP
  20. # endif
  21. #endif
  22. #if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
  23. # if defined(BOOST_FUSION_HAS_VARIADIC_MAP)
  24. # undef BOOST_FUSION_HAS_VARIADIC_MAP
  25. # endif
  26. #endif
  27. ///////////////////////////////////////////////////////////////////////////////
  28. // With no decltype and variadics, we will use the C++03 version
  29. ///////////////////////////////////////////////////////////////////////////////
  30. #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP)
  31. # include <boost/fusion/container/map/detail/cpp03/map_fwd.hpp>
  32. #else
  33. ///////////////////////////////////////////////////////////////////////////////
  34. // C++11 interface
  35. ///////////////////////////////////////////////////////////////////////////////
  36. namespace boost { namespace fusion
  37. {
  38. template <typename ...T>
  39. struct map;
  40. }}
  41. #endif
  42. #endif