diff options
Diffstat (limited to 'boost/fusion/support/detail/as_fusion_element.hpp')
-rw-r--r-- | boost/fusion/support/detail/as_fusion_element.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/boost/fusion/support/detail/as_fusion_element.hpp b/boost/fusion/support/detail/as_fusion_element.hpp index 628dca4d16..2af960eedf 100644 --- a/boost/fusion/support/detail/as_fusion_element.hpp +++ b/boost/fusion/support/detail/as_fusion_element.hpp @@ -11,6 +11,10 @@ #include <boost/fusion/support/config.hpp> #include <boost/ref.hpp> +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +#include <functional> +#endif + namespace boost { namespace fusion { namespace detail { template <typename T> @@ -25,6 +29,14 @@ namespace boost { namespace fusion { namespace detail typedef T& type; }; +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL + template <typename T> + struct as_fusion_element<std::reference_wrapper<T> > + { + typedef T& type; + }; +#endif + template <typename T, int N> struct as_fusion_element<T[N]> { |