summaryrefslogtreecommitdiff
path: root/boost/fusion/container/generation/make_set.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/container/generation/make_set.hpp')
-rw-r--r--boost/fusion/container/generation/make_set.hpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/boost/fusion/container/generation/make_set.hpp b/boost/fusion/container/generation/make_set.hpp
index 4cd20ab77a..0bde4a9c49 100644
--- a/boost/fusion/container/generation/make_set.hpp
+++ b/boost/fusion/container/generation/make_set.hpp
@@ -13,6 +13,7 @@
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
+#include <boost/fusion/support/config.hpp>
#include <boost/fusion/container/set/set.hpp>
#include <boost/fusion/support/detail/as_fusion_element.hpp>
#include <boost/fusion/support/pair.hpp>
@@ -35,6 +36,7 @@
#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
#pragma wave option(preserve: 1)
+#define FUSION_HASH #
#endif
namespace boost { namespace fusion
@@ -57,7 +59,22 @@ namespace boost { namespace fusion
};
}
- BOOST_FUSION_GPU_ENABLED inline set<>
+ // XXX:
+#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
+FUSION_HASH if defined(BOOST_CLANG)
+ BOOST_CXX14_CONSTEXPR
+FUSION_HASH else
+ BOOST_CONSTEXPR
+FUSION_HASH endif
+#else
+#if defined(BOOST_CLANG)
+ BOOST_CXX14_CONSTEXPR
+#else
+ BOOST_CONSTEXPR
+#endif
+#endif
+ BOOST_FUSION_GPU_ENABLED
+ inline set<>
make_set()
{
return set<>();
@@ -76,6 +93,7 @@ namespace boost { namespace fusion
}}
#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
+#undef FUSION_HASH
#pragma wave option(output: null)
#endif
@@ -103,12 +121,12 @@ namespace boost { namespace fusion
}
template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- BOOST_FUSION_GPU_ENABLED
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
inline set<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
- make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
+ make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg))
{
return set<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
+ BOOST_PP_ENUM_PARAMS(N, arg));
}
#undef N