Files
boost_fusion/include/boost/fusion/container/generation/make_deque.hpp
Joel de Guzman b7d02a8c55 + Fixes ticket #7914
+ C++11 implementations for make_deque, deque_tie and as_deque

[SVN r82630]
2013-01-27 07:17:01 +00:00

44 lines
1.3 KiB
C++

/*=============================================================================
Copyright (c) 2001-2013 Joel de Guzman
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
#if !defined(FUSION_MAKE_DEQUE_01272013_1401)
#define FUSION_MAKE_DEQUE_01272013_1401
#include <boost/fusion/container/deque/deque.hpp>
#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
# include <boost/fusion/container/generation/detail/pp_make_deque.hpp>
#else
///////////////////////////////////////////////////////////////////////////////
// C++11 variadic interface
///////////////////////////////////////////////////////////////////////////////
#include <boost/fusion/support/detail/as_fusion_element.hpp>
namespace boost { namespace fusion
{
struct void_;
namespace result_of
{
template <typename ...T>
struct make_deque
{
typedef deque<T...> type;
};
}
template <typename ...T>
inline deque<typename detail::as_fusion_element<T>::type...>
make_deque(T const&... arg)
{
return deque<typename detail::as_fusion_element<T>::type...>(arg...);
}
}}
#endif
#endif