summaryrefslogtreecommitdiff
path: root/boost/type_erasure/dynamic_any_cast.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/type_erasure/dynamic_any_cast.hpp')
-rw-r--r--boost/type_erasure/dynamic_any_cast.hpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/boost/type_erasure/dynamic_any_cast.hpp b/boost/type_erasure/dynamic_any_cast.hpp
index 01aa2b6ef9..6f0939e00d 100644
--- a/boost/type_erasure/dynamic_any_cast.hpp
+++ b/boost/type_erasure/dynamic_any_cast.hpp
@@ -96,13 +96,21 @@ R dynamic_any_cast_impl(Any& arg, const static_binding<Map>& map)
>::type normalized;
typedef typename ::boost::mpl::fold<
normalized,
+#ifndef BOOST_TYPE_ERASURE_USE_MP11
::boost::mpl::set0<>,
+#else
+ ::boost::mp11::mp_list<>,
+#endif
::boost::type_erasure::detail::get_placeholders<
::boost::mpl::_2,
::boost::mpl::_1
>
>::type placeholders;
+#ifndef BOOST_TYPE_ERASURE_USE_MP11
typedef ::boost::type_erasure::detail::substitution_map< ::boost::mpl::map0<> > identity_map;
+#else
+ typedef ::boost::type_erasure::detail::make_identity_placeholder_map<normalized> identity_map;
+#endif
::boost::type_erasure::dynamic_binding<placeholders> my_binding(
::boost::type_erasure::binding_of(arg),
::boost::type_erasure::make_binding<identity_map>());
@@ -153,7 +161,7 @@ R dynamic_any_cast_impl(Any& arg, const static_binding<Map>& map)
*
* \throws bad_any_cast if the concepts used by R were
* not previously registered via a call to
- * @ref register_binding.
+ * \register_binding.
*
* Example:
* \code