summaryrefslogtreecommitdiff
path: root/boost/fusion/sequence/convert.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/sequence/convert.hpp')
-rw-r--r--boost/fusion/sequence/convert.hpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/boost/fusion/sequence/convert.hpp b/boost/fusion/sequence/convert.hpp
index b367714ca2..534d991a28 100644
--- a/boost/fusion/sequence/convert.hpp
+++ b/boost/fusion/sequence/convert.hpp
@@ -8,6 +8,14 @@
#define FUSION_CONVERT_10022005_1442
#include <boost/fusion/support/config.hpp>
+#if BOOST_WORKAROUND(BOOST_GCC, < 30500)
+#include <boost/core/enable_if.hpp>
+#include <boost/type_traits/is_const.hpp>
+#define BOOST_FUSION_WA_GCC34(type1, type2) \
+ boost::lazy_disable_if<boost::is_const<Sequence>, type1, type2>
+#else
+#define BOOST_FUSION_WA_GCC34(type1, type2) type1, type2
+#endif
namespace boost { namespace fusion
{
@@ -32,7 +40,7 @@ namespace boost { namespace fusion
template <typename Tag, typename Sequence>
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::convert<Tag, Sequence>::type
+ inline typename BOOST_FUSION_WA_GCC34(result_of::convert<Tag, Sequence>)::type
convert(Sequence& seq)
{
typedef typename result_of::convert<Tag, Sequence>::gen gen;
@@ -49,4 +57,5 @@ namespace boost { namespace fusion
}
}}
+#undef BOOST_FUSION_WA_GCC34
#endif