diff options
Diffstat (limited to 'boost/fusion/algorithm/transformation/insert.hpp')
-rw-r--r-- | boost/fusion/algorithm/transformation/insert.hpp | 10 |
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< |