set_fwd.hpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*=============================================================================
  2. Copyright (c) 2014 Kohei Takahashi
  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. #ifndef FUSION_SET_FORWARD_11062014_1720
  7. #define FUSION_SET_FORWARD_11062014_1720
  8. #include <boost/config.hpp>
  9. #include <boost/fusion/support/config.hpp>
  10. #include <boost/fusion/container/vector/detail/config.hpp>
  11. #if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) \
  12. || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
  13. # if defined(BOOST_FUSION_HAS_VARIADIC_SET)
  14. # undef BOOST_FUSION_HAS_VARIADIC_SET
  15. # endif
  16. #else
  17. # if !defined(BOOST_FUSION_HAS_VARIADIC_SET)
  18. # define BOOST_FUSION_HAS_VARIADIC_SET
  19. # endif
  20. #endif
  21. ///////////////////////////////////////////////////////////////////////////////
  22. // With no variadics, we will use the C++03 version
  23. ///////////////////////////////////////////////////////////////////////////////
  24. #if !defined(BOOST_FUSION_HAS_VARIADIC_SET)
  25. # include <boost/fusion/container/set/detail/cpp03/set_fwd.hpp>
  26. #else
  27. ///////////////////////////////////////////////////////////////////////////////
  28. // C++11 interface
  29. ///////////////////////////////////////////////////////////////////////////////
  30. namespace boost { namespace fusion
  31. {
  32. struct set_tag;
  33. struct set_iterator_tag;
  34. template <typename ...T>
  35. struct set;
  36. }}
  37. #endif
  38. #endif