summaryrefslogtreecommitdiff
path: root/boost/fusion/functional/adapter
diff options
context:
space:
mode:
Diffstat (limited to 'boost/fusion/functional/adapter')
-rw-r--r--boost/fusion/functional/adapter/unfused.hpp12
-rw-r--r--boost/fusion/functional/adapter/unfused_typed.hpp12
2 files changed, 24 insertions, 0 deletions
diff --git a/boost/fusion/functional/adapter/unfused.hpp b/boost/fusion/functional/adapter/unfused.hpp
index b0d02bc47c..facd5c5427 100644
--- a/boost/fusion/functional/adapter/unfused.hpp
+++ b/boost/fusion/functional/adapter/unfused.hpp
@@ -100,6 +100,7 @@ namespace boost { namespace fusion
namespace boost
{
+#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE)
template<class F>
struct result_of< boost::fusion::unfused<F> const () >
{
@@ -110,6 +111,17 @@ namespace boost
{
typedef typename boost::fusion::unfused<F>::call_0_result type;
};
+#endif
+ template<class F>
+ struct tr1_result_of< boost::fusion::unfused<F> const () >
+ {
+ typedef typename boost::fusion::unfused<F>::call_const_0_result type;
+ };
+ template<class F>
+ struct tr1_result_of< boost::fusion::unfused<F>() >
+ {
+ typedef typename boost::fusion::unfused<F>::call_0_result type;
+ };
}
#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED
diff --git a/boost/fusion/functional/adapter/unfused_typed.hpp b/boost/fusion/functional/adapter/unfused_typed.hpp
index 0f19f28f0b..923c6876c1 100644
--- a/boost/fusion/functional/adapter/unfused_typed.hpp
+++ b/boost/fusion/functional/adapter/unfused_typed.hpp
@@ -80,6 +80,7 @@ namespace boost { namespace fusion
namespace boost
{
+#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE)
template<class F, class Seq>
struct result_of< boost::fusion::unfused_typed<F,Seq> const () >
: boost::fusion::unfused_typed<F,Seq>::template result<
@@ -90,6 +91,17 @@ namespace boost
: boost::fusion::unfused_typed<F,Seq>::template result<
boost::fusion::unfused_typed<F,Seq> () >
{ };
+#endif
+ template<class F, class Seq>
+ struct tr1_result_of< boost::fusion::unfused_typed<F,Seq> const () >
+ : boost::fusion::unfused_typed<F,Seq>::template result<
+ boost::fusion::unfused_typed<F,Seq> const () >
+ { };
+ template<class F, class Seq>
+ struct tr1_result_of< boost::fusion::unfused_typed<F,Seq>() >
+ : boost::fusion::unfused_typed<F,Seq>::template result<
+ boost::fusion::unfused_typed<F,Seq> () >
+ { };
}