deque_tie.hpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*=============================================================================
  2. Copyright (c) 2001-2013 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_DEQUE_TIE_01272013_1401)
  7. #define FUSION_DEQUE_TIE_01272013_1401
  8. #include <boost/fusion/container/deque/deque.hpp>
  9. #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
  10. # include <boost/fusion/container/generation/detail/pp_deque_tie.hpp>
  11. #else
  12. ///////////////////////////////////////////////////////////////////////////////
  13. // C++11 variadic interface
  14. ///////////////////////////////////////////////////////////////////////////////
  15. #include <boost/fusion/support/detail/as_fusion_element.hpp>
  16. namespace boost { namespace fusion
  17. {
  18. struct void_;
  19. namespace result_of
  20. {
  21. template <typename ...T>
  22. struct deque_tie
  23. {
  24. typedef deque<T&...> type;
  25. };
  26. }
  27. template <typename ...T>
  28. inline deque<T&...>
  29. deque_tie(T&... arg)
  30. {
  31. return deque<T&...>(arg...);
  32. }
  33. }}
  34. #endif
  35. #endif