summaryrefslogtreecommitdiff
path: root/boost/fusion/algorithm/transformation/insert.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/algorithm/transformation/insert.hpp')
-rw-r--r--boost/fusion/algorithm/transformation/insert.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/boost/fusion/algorithm/transformation/insert.hpp b/boost/fusion/algorithm/transformation/insert.hpp
index ac5bca38a7..2052fc01aa 100644
--- a/boost/fusion/algorithm/transformation/insert.hpp
+++ b/boost/fusion/algorithm/transformation/insert.hpp
@@ -16,6 +16,8 @@
#include <boost/fusion/sequence/intrinsic/begin.hpp>
#include <boost/fusion/sequence/intrinsic/end.hpp>
#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
+#include <boost/fusion/support/is_sequence.hpp>
+#include <boost/utility/enable_if.hpp>
namespace boost { namespace fusion
{
@@ -38,8 +40,12 @@ namespace boost { namespace fusion
}
template <typename Sequence, typename Position, typename T>
- inline typename result_of::insert<
- Sequence const, Position, T>::type
+ inline
+ typename
+ lazy_enable_if<
+ traits::is_sequence<Sequence>
+ , result_of::insert<Sequence const, Position, T>
+ >::type
insert(Sequence const& seq, Position const& pos, T const& x)
{
typedef result_of::insert<