Chris@16: /*============================================================================= Chris@16: Copyright (c) 2005-2012 Joel de Guzman Chris@16: Copyright (c) 2005-2007 Dan Marsden Chris@16: Chris@16: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: ==============================================================================*/ Chris@16: #if !defined(FUSION_DEQUE_FORWARD_02092007_0749) Chris@16: #define FUSION_DEQUE_FORWARD_02092007_0749 Chris@16: Chris@101: #include Chris@16: #include Chris@16: Chris@101: #if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ Chris@101: || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)) \ Chris@101: || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) Chris@101: # if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) Chris@101: # undef BOOST_FUSION_HAS_VARIADIC_DEQUE Chris@101: # endif Chris@16: #else Chris@16: # if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) Chris@16: # define BOOST_FUSION_HAS_VARIADIC_DEQUE Chris@16: # endif Chris@101: #endif Chris@101: Chris@101: // MSVC variadics at this point in time is not ready yet (ICE!) Chris@101: #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) Chris@101: # if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) Chris@101: # undef BOOST_FUSION_HAS_VARIADIC_DEQUE Chris@101: # endif Chris@101: #endif Chris@101: Chris@101: /////////////////////////////////////////////////////////////////////////////// Chris@101: // With no variadics, we will use the C++03 version Chris@101: /////////////////////////////////////////////////////////////////////////////// Chris@101: #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) Chris@101: # include Chris@101: #else Chris@16: Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: // C++11 interface Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: namespace boost { namespace fusion Chris@16: { Chris@16: template Chris@16: struct deque; Chris@16: }} Chris@16: Chris@16: #endif Chris@16: #endif