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