summaryrefslogtreecommitdiff
path: root/boost/fusion/algorithm/transformation/replace.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/algorithm/transformation/replace.hpp')
-rw-r--r--boost/fusion/algorithm/transformation/replace.hpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/boost/fusion/algorithm/transformation/replace.hpp b/boost/fusion/algorithm/transformation/replace.hpp
index bfe186e5af..a92e6e3738 100644
--- a/boost/fusion/algorithm/transformation/replace.hpp
+++ b/boost/fusion/algorithm/transformation/replace.hpp
@@ -9,6 +9,8 @@
#include <boost/fusion/view/transform_view/transform_view.hpp>
#include <boost/fusion/algorithm/transformation/detail/replace.hpp>
+#include <boost/fusion/support/is_sequence.hpp>
+#include <boost/utility/enable_if.hpp>
namespace boost { namespace fusion
{
@@ -22,7 +24,12 @@ namespace boost { namespace fusion
}
template <typename Sequence, typename T>
- inline typename result_of::replace<Sequence const, T>::type
+ inline
+ typename
+ enable_if<
+ traits::is_sequence<Sequence>
+ , typename result_of::replace<Sequence const, T>::type
+ >::type
replace(Sequence const& seq, T const& old_value, T const& new_value)
{
typedef typename result_of::replace<Sequence const, T>::type result;