diff options
Diffstat (limited to 'boost/fusion/algorithm/iteration/for_each.hpp')
-rw-r--r-- | boost/fusion/algorithm/iteration/for_each.hpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/boost/fusion/algorithm/iteration/for_each.hpp b/boost/fusion/algorithm/iteration/for_each.hpp index ab8b8f0e84..17cde34a4b 100644 --- a/boost/fusion/algorithm/iteration/for_each.hpp +++ b/boost/fusion/algorithm/iteration/for_each.hpp @@ -11,6 +11,8 @@ #include <boost/fusion/algorithm/iteration/detail/for_each.hpp> #include <boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp> #include <boost/fusion/support/is_segmented.hpp> +#include <boost/fusion/support/is_sequence.hpp> +#include <boost/utility/enable_if.hpp> namespace boost { namespace fusion { @@ -24,14 +26,24 @@ namespace boost { namespace fusion } template <typename Sequence, typename F> - inline void + inline + typename + enable_if< + traits::is_sequence<Sequence> + , void + >::type for_each(Sequence& seq, F const& f) { detail::for_each(seq, f, typename traits::is_segmented<Sequence>::type()); } template <typename Sequence, typename F> - inline void + inline + typename + enable_if< + traits::is_sequence<Sequence> + , void + >::type for_each(Sequence const& seq, F const& f) { detail::for_each(seq, f, typename traits::is_segmented<Sequence>::type()); |