1 /*=============================================================================
2 Copyright (c) 2014 Kohei Takahashi
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7 #ifndef FUSION_SET_FORWARD_11062014_1720
8 #define FUSION_SET_FORWARD_11062014_1720
10 #include <boost/config.hpp>
11 #include <boost/fusion/support/config.hpp>
12 #include <boost/fusion/container/vector/detail/config.hpp>
14 #if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) \
15 || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
16 # if defined(BOOST_FUSION_HAS_VARIADIC_SET)
17 # undef BOOST_FUSION_HAS_VARIADIC_SET
20 # if !defined(BOOST_FUSION_HAS_VARIADIC_SET)
21 # define BOOST_FUSION_HAS_VARIADIC_SET
25 ///////////////////////////////////////////////////////////////////////////////
26 // With no variadics, we will use the C++03 version
27 ///////////////////////////////////////////////////////////////////////////////
28 #if !defined(BOOST_FUSION_HAS_VARIADIC_SET)
29 # include <boost/fusion/container/set/detail/cpp03/set_fwd.hpp>
32 ///////////////////////////////////////////////////////////////////////////////
34 ///////////////////////////////////////////////////////////////////////////////
35 namespace boost { namespace fusion
38 struct set_iterator_tag;
40 template <typename ...T>